github unhappychoice/gittype v0.9.0
Release v0.9.0

latest release: v0.10.0
3 months ago

✨ 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)
  • chore(deps): bump uuid from 1.19.0 to 1.20.0 (9ea80bf)
  • chore(deps): bump thiserror from 2.0.17 to 2.0.18 (a45db16)
  • chore(deps): bump insta from 1.46.0 to 1.46.1 (7659891)
  • chore(deps): bump chrono from 0.4.42 to 0.4.43 (d0fbdd0)
  • chore(deps): bump flate2 from 1.1.7 to 1.1.8 (4eb2036)
  • chore(deps): bump ansi-to-tui from 8.0.0 to 8.0.1 (ac414e4)
  • chore(deps): bump serde_json from 1.0.148 to 1.0.149 (1f1a138)
  • chore(deps): bump clap from 4.5.53 to 4.5.54 (1572b5b)
  • chore(deps): bump tokio from 1.48.0 to 1.49.0 (142207e)
  • chore(deps): bump insta from 1.45.1 to 1.46.0 (dfd698c)
  • chore(deps): bump reqwest from 0.12.28 to 0.13.1 (7ad0c45)
  • chore(deps): bump serde_json from 1.0.147 to 1.0.148 (07e6254)
  • chore(deps): bump insta from 1.45.0 to 1.45.1 (87a9752)
  • chore(deps): bump ansi-to-tui from 7.0.0 to 8.0.0 (122ad7f)
  • chore(deps): bump tempfile from 3.23.0 to 3.24.0 (6f5bb34)
  • chore(deps): bump serde_json from 1.0.146 to 1.0.147 (2ccc91b)
  • chore(deps): bump reqwest from 0.12.26 to 0.12.28 (2765c76)
  • chore(deps): bump serde_json from 1.0.145 to 1.0.146 (1239d2f)
  • chore(deps): bump insta from 1.44.3 to 1.45.0 (5ff9373)
  • chore(deps): bump reqwest from 0.12.25 to 0.12.26 (ff3886d)
  • chore(deps): bump reqwest from 0.12.24 to 0.12.25 (a8853e4)
  • chore(deps): bump git2 from 0.20.2 to 0.20.3 (c716449)
  • chore(deps): bump criterion from 0.8.0 to 0.8.1 (a19af7d)
  • chore(deps): bump flate2 from 1.1.5 to 1.1.7 (79c033a)
  • chore(deps): bump log from 0.4.28 to 0.4.29 (074668b)
  • chore(deps): bump uuid from 1.18.1 to 1.19.0 (a5172a5)
  • chore(deps): bump criterion from 0.7.0 to 0.8.0 (5bef448)
  • chore(deps): bump insta from 1.44.2 to 1.44.3 (0037128)
  • chore(deps): bump insta from 1.44.1 to 1.44.2 (83387f6)
  • chore(deps): bump insta from 1.44.0 to 1.44.1 (c553d2a)
  • chore(deps): bump insta from 1.43.2 to 1.44.0 (0cde63d)
  • chore(deps): bump clap from 4.5.52 to 4.5.53 (dd359cc)
  • chore(deps): bump open from 5.3.2 to 5.3.3 (1db6969)
  • chore(deps): bump clap from 4.5.51 to 4.5.52 (38dc4a6)
  • docs: add Gitlogue to Related Projects section (9b068c3)
  • test: add comprehensive tests for SSH URLs with port numbers (ca2069f)
  • refactor: remove duplicate URL parsing logic in LocalGitRepositoryClient (00be4c5)
  • chore(deps): bump ignore from 0.4.24 to 0.4.25 (055237b)
  • chore(deps): bump clap from 4.5.50 to 4.5.51 (69cc199)
  • chore(deps): bump ctrlc from 3.5.0 to 3.5.1 (3d64da7)
  • chore(deps): bump flate2 from 1.1.4 to 1.1.5 (36fc2fa)
  • refactor: use test-mocks feature for browser abstraction (0f640cd)
  • refactor: replace dirs::home_dir with AppDataProvider abstraction (f5b10b4)
  • refactor: extend FileStorage to abstract filesystem operations (172e025)
  • refactor: move GitRepository::new_local to LocalGitRepositoryClient (f354d06)
  • refactor: inject GameData dependency and fix initialization (096e87f)
  • test: improve coverage for all analytics views (271ffff)
  • test: improve analytics overview view coverage to 100% (9f27844)
  • refactor: reorganize typing views and remove unused DialogView (6024eff)
  • test: add comprehensive TypingScreen tests with dependency injection (36347c1)
  • test: add unit tests for StageRepository (62b7be0)
  • test: add unit tests for Language trait implementations (d5ec779)
  • test: add unit tests for GitTypeError variants (df9da80)
  • test: add unit tests for ScreenManager using TestBackend (bd10849)
  • chore(deps): bump clap from 4.5.49 to 4.5.50 (ef42180)
  • refactor: simplify service layer by removing Arc wrappers (8f895a8)
  • test: add unit tests for domain services (8468d2f)
  • refactor: move services from application to domain layer (04e7ead)
  • refactor: remove re-exports, use direct imports from service layer (9120c7a)
  • refactor: introduce service layer for business logic (2f3b5c6)
  • test: add comprehensive basic methods tests for all screens (3b01b51)
  • refactor: move cache directory path from view to provider (ec94cbd)
  • style: run cargo fmt (2645acf)
  • refactor: move RemoteGitRepositoryClient access from views to providers (2f28651)
  • refactor: remove re-exports from game module to enforce proper separation (7859f6f)
  • test: add snapshot tests for CLI screens and update imports (da5370b)
  • refactor: update imports and references for TUI architecture (ec8fa8c)
  • refactor: move data fetching to Screen providers in CLI commands (8062a54)
  • refactor: remove deprecated game views (457dcc7)
  • refactor: remove deprecated CLI views (ce6b4e0)
  • chore(deps): bump ignore from 0.4.23 to 0.4.24 (ca17fe6)
  • style: run cargo fmt (119aad7)
  • test: add comprehensive unit tests for all DAOs (f39bedc)
  • refactor: move database seeders to examples directory (d8ad1e9)
  • test: add comprehensive unit tests for repository classes (6f65c6b)
  • test: add test cases for C++, C#, and JavaScript to improve coverage (d0c5fa0)
  • test: add missing test cases for Zig, Go, and Kotlin (86e9d1b)
  • style: run cargo fmt (6d19822)
  • test: update test expectations for all language extractors (77787b3)
  • test: add validation for chunk_counts sum in test macro (18b06e5)
  • refactor: implement capture_name_to_chunk_type and extract_name in chunk extraction (737e05b)
  • chore(deps): bump tokio from 1.47.1 to 1.48.0 (7b35d1d)
  • refactor: move database init into Database::new() for test-mocks (52723f6)
  • refactor: use test-mocks feature to auto-switch implementations (189ce88)
  • refactor: use FileStorage in TrendingRepository (c5810b1)
  • test: mock file storage and HTTP clients for repository tests (79e10eb)
  • test: add new_test method to StageRepository for test isolation (15d8939)
  • test: add comprehensive integration tests for all screens (8da96a9)
  • test: add comprehensive tests for presentation layer (84a85ba)
  • test: add comprehensive tests for infrastructure layer (89ca710)
  • test: add comprehensive tests for domain services and repositories (fa953b2)
  • test: add comprehensive unit tests for domain models (07d9699)
  • test: enhance integration test helper macros (3aceeee)
  • refactor: extract tests from source files to separate test modules (e60e11b)
  • test: add test infrastructure with fixtures and helpers (12ae77c)
  • chore(deps): bump clap from 4.5.48 to 4.5.49 (969a466)
  • chore(deps): bump reqwest from 0.12.23 to 0.12.24 (79b2130)
  • test: add snapshot tests for session screens and refactor global dependencies (5d9d0ef)
  • refactor: remove crossterm rendering backend and consolidate to ratatui-only (b778cae)
  • perf: use Lazy static for rank patterns HashMap (a81c447)
  • refactor: inject theme data via SettingsScreenDataProvider (ef8f47b)
  • refactor: migrate SessionSummaryScreen to ratatui (0525a3b)
  • refactor: migrate SessionSummaryShareScreen to ratatui (f918457)
  • refactor: migrate SessionFailureScreen to ratatui (39bfbdd)
  • test: add screen snapshot files (f904407)
  • test: add snapshot tests for screen components (68cff05)
  • test: add mock data providers for screen tests (ad20c16)
  • test: add screen snapshot test infrastructure (09513fb)
  • refactor: improve RecordsScreen testability (7a898ba)
  • refactor: add timestamp injection to PanicScreen for testability (7edc9ea)
  • style: fix clippy warnings and format code (d1ec5cb)
  • refactor: clean up error handling and remove unused code (d043654)
  • refactor: implement DataProvider pattern for system screens (2889558)
  • refactor: implement DataProvider pattern for dialog and utility screens (c67127d)
  • refactor: implement DataProvider pattern for data-heavy screens (7e18e0d)
  • refactor: implement DataProvider pattern for failure and animation screens (e90a1ca)
  • refactor: implement DataProvider pattern for sharing screens (d130f4a)
  • refactor: implement DataProvider pattern for summary screens (a966d9a)
  • refactor: implement DataProvider pattern for main flow screens (99a92d1)
  • refactor: centralize screen initialization in ScreenManager (78c6ce3)
  • refactor: add instance methods to GameData and SessionManager (e100e8a)
  • refactor: introduce ScreenDataProvider trait and update Screen trait (8e15fbc)
  • refactor: add EventBus to all remaining screens and update navigation (3edcd70)
  • refactor: add EventBus to LoadingScreen (307c2ad)
  • refactor: convert TypingScreen to use EventBus for domain events (ee3871f)
  • refactor: add EventBus to SessionManager and subscribe to domain events (ba7006c)
  • refactor: add EventBus to ScreenManager for event-driven navigation (9f15213)
  • refactor: improve EventBus to prevent deadlocks and remove unused events (d128e80)
  • chore(deps): bump criterion from 0.5.1 to 0.7.0 (99b23f4)
  • chore(deps): bump flate2 from 1.1.2 to 1.1.4 (d4c9032)
  • docs: add Zig language documentation (3009e8b)
  • test: add Zig language integration tests (ca39493)
  • style: apply cargo fmt formatting (03d2572)
  • test: fix clippy warnings in tests and benchmarks (75b7197)
  • refactor: simplify closure to function reference (71e303e)
  • refactor: implement Default trait for new() methods (faa74f2)
  • refactor: reduce function arguments with context struct (6675171)
  • refactor: simplify complex types with type aliases (4dc55a1)
  • refactor: use unwrap_or_default instead of unwrap_or_else (cac2bf3)
  • refactor: resolve clippy module_inception warnings (9b193cf)
  • perf: optimize ChunkExtractor with 85% performance improvement (6bf24d3)
  • refactor: redesign ChallengeGenerator with optimized architecture (ac9b69f)
  • chore(deps): bump serde from 1.0.227 to 1.0.228 (070ca99)
  • chore(deps): bump thiserror from 2.0.16 to 2.0.17 (6c3b7e7)
  • refactor: integrate SourceFileExtractor with infrastructure FileStorage (4919437)
  • refactor: move LanguageRegistry functionality to Languages struct (bd1fa61)
  • refactor: restructure domain services extractor into focused modules (6b9c7d1)
  • refactor: migrate cache infrastructure to domain repositories with test improvements (a3bf2db)
  • refactor: unify storage implementations with AppDataProvider trait (e01d252)
  • refactor: move ConfigManager to domain/services and integrate with FileStorage (0cccaa9)
  • refactor: clean architecture refactoring of infrastructure/version (0a79912)
  • refactor: reorganize database infrastructure following Clean Architecture (cafd485)
  • refactor: optimize git repository processing and fix extraction logic (eaa9069)
  • refactor: extract OSS Insight API client to infrastructure/http (d35d6b5)
  • refactor: eliminate long namespace usage outside use statements (5871b6c)
  • refactor: complete Clean Architecture reorganization (9db229c)
  • refactor: migrate src/game to src/presentation/game (cb31b81)
  • refactor: migrate src/scoring to domain/services/scoring (918a691)
  • refactor: migrate src/storage to Clean Architecture structure (e72acb7)
  • refactor: migrate extractor module to Clean Architecture structure (c54e65e)
  • refactor: move language models to domain layer for clean architecture (98f44d7)
  • refactor: separate ui module into clean architecture layers (4819f9c)
  • refactor: move models module to domain layer for clean architecture (740e808)
  • refactor: move version module to clean architecture layers (9afe8d5)
  • refactor: separate config into domain and infrastructure layers (ca3728a)
  • refactor: move cli module to presentation layer for clean architecture (4e31a24)
  • refactor: move cache module to infrastructure layer for clean architecture (5761a43)
  • chore(deps): bump serde from 1.0.226 to 1.0.227 (f283644)
  • docs: fix themes.md to match actual custom theme implementation (5f442a3)
  • chore: move social media section (0e37c57)
  • chore: switch community link to x.com (2420c5e)
  • chore: add community twitter link (f54d4d0)
  • chore: move help community tab before about (a646b86)
  • chore: add generated third-party licenses (344c3d2)

Don't miss a new gittype release

NewReleases is sending notifications on new releases.