# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.8.0] - 2026-02-12
### š Bug Fixes
- fix: address CodeRabbit review issues ([a8a9208](https://github.com/unhappychoice/gitlogue/commit/a8a9208))
- fix: clear dialog area before rendering to prevent text bleed-through ([75c1266](https://github.com/unhappychoice/gitlogue/commit/75c1266))
### š Other Changes
- chore: bump version to v0.8.0 ([24a4265](https://github.com/unhappychoice/gitlogue/commit/24a4265))
- refactor: improve playback controls UX ([d8bff84](https://github.com/unhappychoice/gitlogue/commit/d8bff84))
- added playback controlls ([2506b99](https://github.com/unhappychoice/gitlogue/commit/2506b99))
- chore(deps): bump rand from 0.9.2 to 0.10.0 (#147) ([4c951d8](https://github.com/unhappychoice/gitlogue/commit/4c951d8))
- chore(deps): bump toml from 0.9.12+spec-1.1.0 to 1.0.0+spec-1.1.0 ([d6bdbfe](https://github.com/unhappychoice/gitlogue/commit/d6bdbfe))
- chore(deps): bump clap from 4.5.57 to 4.5.58 ([11a9b36](https://github.com/unhappychoice/gitlogue/commit/11a9b36))
- chore(deps): bump toml_edit from 0.24.1+spec-1.1.0 to 0.25.0+spec-1.1.0 ([c3e6793](https://github.com/unhappychoice/gitlogue/commit/c3e6793))
- chore(deps): bump toml from 0.9.11+spec-1.1.0 to 0.9.12+spec-1.1.0 ([c3b9514](https://github.com/unhappychoice/gitlogue/commit/c3b9514))
- chore(deps): bump toml_edit from 0.24.0+spec-1.1.0 to 0.24.1+spec-1.1.0 ([6100f9c](https://github.com/unhappychoice/gitlogue/commit/6100f9c))
- chore(deps): bump ctrlc from 3.5.1 to 3.5.2 ([8636309](https://github.com/unhappychoice/gitlogue/commit/8636309))
- chore(deps): bump anyhow from 1.0.100 to 1.0.101 ([74edf44](https://github.com/unhappychoice/gitlogue/commit/74edf44))
- chore(deps): bump clap from 4.5.56 to 4.5.57 ([a6cc996](https://github.com/unhappychoice/gitlogue/commit/a6cc996))
- chore(deps): bump git2 from 0.20.3 to 0.20.4 ([02689a7](https://github.com/unhappychoice/gitlogue/commit/02689a7))
- chore(deps): bump clap from 4.5.54 to 4.5.56 ([de1279e](https://github.com/unhappychoice/gitlogue/commit/de1279e))
- chore(deps): bump unicode-width from 0.2.0 to 0.2.2 ([e2b4adb](https://github.com/unhappychoice/gitlogue/commit/e2b4adb))
- chore: update flake.nix hashes for v0.7.0 ([9154fe1](https://github.com/unhappychoice/gitlogue/commit/9154fe1))
## [0.7.0] - 2026-01-16
### ⨠Features
- feat(themes): add fluorite theme ([48f0e11](https://github.com/unhappychoice/gitlogue/commit/48f0e11))
- feat: add uv.lock to the excluded files ([ca92dc0](https://github.com/unhappychoice/gitlogue/commit/ca92dc0))
- feat: add diff subcommand to visualize working tree changes (#123) ([7805317](https://github.com/unhappychoice/gitlogue/commit/7805317))
### š Bug Fixes
- fix(themes): apply cargo fmt and fix alphabetical order ([e5ab941](https://github.com/unhappychoice/gitlogue/commit/e5ab941))
- fix(themes): apply 'coderabbit' suggested style changes ([aa4545e](https://github.com/unhappychoice/gitlogue/commit/aa4545e))
- fix(themes): add missing comma ([d2bf885](https://github.com/unhappychoice/gitlogue/commit/d2bf885))
### š Other Changes
- chore: bump version to v0.7.0 ([c7ff630](https://github.com/unhappychoice/gitlogue/commit/c7ff630))
- chore(deps): bump chrono from 0.4.42 to 0.4.43 ([7ec94ad](https://github.com/unhappychoice/gitlogue/commit/7ec94ad))
- chore(deps): bump toml from 0.9.10+spec-1.1.0 to 0.9.11+spec-1.1.0 ([b79396f](https://github.com/unhappychoice/gitlogue/commit/b79396f))
- chore(deps): bump tree-sitter-md from 0.5.1 to 0.5.2 ([45b031e](https://github.com/unhappychoice/gitlogue/commit/45b031e))
- chore(deps): bump clap from 4.5.53 to 4.5.54 ([12f034e](https://github.com/unhappychoice/gitlogue/commit/12f034e))
- chore(deps): bump tree-sitter-lua from 0.2.0 to 0.4.1 ([5db6d54](https://github.com/unhappychoice/gitlogue/commit/5db6d54))
- chore(deps): bump ratatui from 0.29.0 to 0.30.0 ([9de4c9b](https://github.com/unhappychoice/gitlogue/commit/9de4c9b))
- chore(deps): bump toml from 0.9.8 to 0.9.10+spec-1.1.0 ([a033d22](https://github.com/unhappychoice/gitlogue/commit/a033d22))
- chore(deps): bump toml_edit from 0.23.9 to 0.24.0+spec-1.1.0 ([a4a6e9c](https://github.com/unhappychoice/gitlogue/commit/a4a6e9c))
- chore: update flake.nix hashes for v0.6.0 ([7545577](https://github.com/unhappychoice/gitlogue/commit/7545577))
## [0.6.0] - 2025-12-08
### ⨠Features
- feat(theme): add Telemetry theme ([2270d72](https://github.com/unhappychoice/gitlogue/commit/2270d72))
- feat: add speed_rules support in config file ([5f1621f](https://github.com/unhappychoice/gitlogue/commit/5f1621f))
- feat: add file-specific speed rules with --speed-rule option ([d8ba787](https://github.com/unhappychoice/gitlogue/commit/d8ba787))
### š Bug Fixes
- fix: allow sub-base-speed pauses to work correctly ([5e3a6ef](https://github.com/unhappychoice/gitlogue/commit/5e3a6ef))
- fix: apply speed rules to all pause durations ([4a008e6](https://github.com/unhappychoice/gitlogue/commit/4a008e6))
### š Other Changes
- chore: bump version to v0.6.0 ([4e065c1](https://github.com/unhappychoice/gitlogue/commit/4e065c1))
- docs: add telemetry theme to themes documentation ([bb5ebbe](https://github.com/unhappychoice/gitlogue/commit/bb5ebbe))
- chore(deps): bump git2 from 0.20.2 to 0.20.3 ([28cb068](https://github.com/unhappychoice/gitlogue/commit/28cb068))
- chore(deps): bump toml_edit from 0.23.7 to 0.23.9 ([d12df6a](https://github.com/unhappychoice/gitlogue/commit/d12df6a))
- style: fix fmt and clippy warnings ([1d594d6](https://github.com/unhappychoice/gitlogue/commit/1d594d6))
- docs: add speed-rule documentation ([63092ce](https://github.com/unhappychoice/gitlogue/commit/63092ce))
- chore(deps): bump tree-sitter-bash from 0.25.0 to 0.25.1 ([ce09a6a](https://github.com/unhappychoice/gitlogue/commit/ce09a6a))
- docs: add docstrings to improve coverage ([4007761](https://github.com/unhappychoice/gitlogue/commit/4007761))
- chore: update flake.nix hashes for v0.5.0 ([8e7173b](https://github.com/unhappychoice/gitlogue/commit/8e7173b))
## [0.5.0] - 2025-11-30
### ⨠Features
- feat: add Svelte syntax highlighting support ([3655e09](https://github.com/unhappychoice/gitlogue/commit/3655e09))
- feat: add Lua syntax highlighting support ([76e7c6a](https://github.com/unhappychoice/gitlogue/commit/76e7c6a))
- feat: add date filtering options for commit history ([da7fc17](https://github.com/unhappychoice/gitlogue/commit/da7fc17))
### š Bug Fixes
- fix: invalidate old cache by changing prefix-key ([52e803c](https://github.com/unhappychoice/gitlogue/commit/52e803c))
- fix: update glibc version requirement to 2.35 ([c67e5a1](https://github.com/unhappychoice/gitlogue/commit/c67e5a1))
- fix: use ubuntu-22.04 for Linux builds and remove cache from release ([90f7ae8](https://github.com/unhappychoice/gitlogue/commit/90f7ae8))
- fix: update fzf and VHS examples for better compatibility (#109) ([84f77c5](https://github.com/unhappychoice/gitlogue/commit/84f77c5))
- fix: return error instead of fallback for invalid commit timestamp ([dde2914](https://github.com/unhappychoice/gitlogue/commit/dde2914))
- fix(docs): correct fzf integration example ([ca748da](https://github.com/unhappychoice/gitlogue/commit/ca748da))
- fix: Correct date filter comparison logic in matches_date_filter function to be fully identical to Git ([c643eea](https://github.com/unhappychoice/gitlogue/commit/c643eea))
- fix: Fix format error ([de3fb5d](https://github.com/unhappychoice/gitlogue/commit/de3fb5d))
### š Other Changes
- chore: bump version to v0.5.0 ([907efec](https://github.com/unhappychoice/gitlogue/commit/907efec))
- docs: update supported languages list ([6708fe9](https://github.com/unhappychoice/gitlogue/commit/6708fe9))
- Update README to reflect new brew instructions (#111) ([bcb19f8](https://github.com/unhappychoice/gitlogue/commit/bcb19f8))
- refactor: sort use statements consistently across files ([6f212b9](https://github.com/unhappychoice/gitlogue/commit/6f212b9))
- refactor: sort TokenType enum and match arms alphabetically ([01db07e](https://github.com/unhappychoice/gitlogue/commit/01db07e))
- docs: expand Nix installation instructions ([d63814a](https://github.com/unhappychoice/gitlogue/commit/d63814a))
- ci: add flake.lock and update release workflow to maintain it ([3dac4ec](https://github.com/unhappychoice/gitlogue/commit/3dac4ec))
- docs: add Nix installation method ([eebf770](https://github.com/unhappychoice/gitlogue/commit/eebf770))
- chore: update flake.nix hashes for v0.4.1 ([ebdf0ee](https://github.com/unhappychoice/gitlogue/commit/ebdf0ee))
## [0.4.1] - 2025-11-25
### ⨠Features
- feat: add glibc version check to install script ([6cfece8](https://github.com/unhappychoice/gitlogue/commit/6cfece8))
### š Bug Fixes
- fix: use ubuntu-latest for Linux release builds ([2eb6d85](https://github.com/unhappychoice/gitlogue/commit/2eb6d85))
### š Other Changes
- chore: bump version to v0.4.1 ([2ff5ace](https://github.com/unhappychoice/gitlogue/commit/2ff5ace))
- docs: add troubleshooting for glibc version errors ([77553a3](https://github.com/unhappychoice/gitlogue/commit/77553a3))
- chore: update flake.nix hashes for v0.4.0 ([5467d70](https://github.com/unhappychoice/gitlogue/commit/5467d70))
## [0.4.0] - 2025-11-25
### ⨠Features
- feat: add author filter option for commit display ([cfda74d](https://github.com/unhappychoice/gitlogue/commit/cfda74d))
- feat: move cursor to first non-whitespace position during scroll ([8cf6a46](https://github.com/unhappychoice/gitlogue/commit/8cf6a46))
- feat: skip cursor movement to indentation ([9ef01e2](https://github.com/unhappychoice/gitlogue/commit/9ef01e2))
- feat: introduced the pattern matching for ignoring parameters ([5350424](https://github.com/unhappychoice/gitlogue/commit/5350424))
- feat: add MODULE.bazel.lock to excluded files ([420c57a](https://github.com/unhappychoice/gitlogue/commit/420c57a))
### š Bug Fixes
- fix: default to asc order when --author is specified ([72ebcee](https://github.com/unhappychoice/gitlogue/commit/72ebcee))
- fix: add validation for author filter input to prevent empty patterns ([80e54c0](https://github.com/unhappychoice/gitlogue/commit/80e54c0))
- fix: add perl to nativeBuildInputs for openssl-sys build ([f3d7672](https://github.com/unhappychoice/gitlogue/commit/f3d7672))
- fix: update cli name and version ([7a07511](https://github.com/unhappychoice/gitlogue/commit/7a07511))
- fix: add other typescript extensions (#84) ([a2a614d](https://github.com/unhappychoice/gitlogue/commit/a2a614d))
### š Other Changes
- chore: bump version to v0.4.0 ([868bc89](https://github.com/unhappychoice/gitlogue/commit/868bc89))
- docs: add behavior notes for --author filtering ([12cf5a1](https://github.com/unhappychoice/gitlogue/commit/12cf5a1))
- refactor: extract magic numbers and fix step discontinuity ([e1624aa](https://github.com/unhappychoice/gitlogue/commit/e1624aa))
- perf: improve scrolling speed in large files ([f39f158](https://github.com/unhappychoice/gitlogue/commit/f39f158))
- Use last supported LTS for glibc version in Linux builds & use arm runners (#98) ([cb45144](https://github.com/unhappychoice/gitlogue/commit/cb45144))
- refactor: use Cargo.toml version in CLI ([e330c16](https://github.com/unhappychoice/gitlogue/commit/e330c16))
- created a flake for nixos users (#92) ([3f24f29](https://github.com/unhappychoice/gitlogue/commit/3f24f29))
- test: update ignore patterns test to use SVG instead of PNG ([2c83a6f](https://github.com/unhappychoice/gitlogue/commit/2c83a6f))
- docs: add documentation for ignore patterns feature ([caa25ef](https://github.com/unhappychoice/gitlogue/commit/caa25ef))
- test: verifying working omission of patterns ([25a260b](https://github.com/unhappychoice/gitlogue/commit/25a260b))
- chore: adding dependency of package ([b122734](https://github.com/unhappychoice/gitlogue/commit/b122734))
- updating the dependency and config ([6a6d8d5](https://github.com/unhappychoice/gitlogue/commit/6a6d8d5))
## [0.3.0] - 2025-11-20
### ⨠Features
- feat: support --order option with commit ranges ([89da1c5](https://github.com/unhappychoice/gitlogue/commit/89da1c5))
- feat: add commit range option ([96f6b4a](https://github.com/unhappychoice/gitlogue/commit/96f6b4a))
- feat: enable SIGTERM and SIGHUP handling in ctrlc crate ([64f170c](https://github.com/unhappychoice/gitlogue/commit/64f170c))
- feat: add Ctrl+C and q key support for quitting application ([78cb6d2](https://github.com/unhappychoice/gitlogue/commit/78cb6d2))
### š Bug Fixes
- fix: detect git repository from subdirectories ([5ee8605](https://github.com/unhappychoice/gitlogue/commit/5ee8605))
### š Other Changes
- chore: bump version to v0.3.0 ([1f68771](https://github.com/unhappychoice/gitlogue/commit/1f68771))
- style: apply cargo fmt ([00c07e6](https://github.com/unhappychoice/gitlogue/commit/00c07e6))
- refactor: reject symmetric difference operator in commit range ([4ccc02d](https://github.com/unhappychoice/gitlogue/commit/4ccc02d))
- docs: update documentation for commit range feature ([1dd81be](https://github.com/unhappychoice/gitlogue/commit/1dd81be))
- chore(deps): bump clap from 4.5.52 to 4.5.53 ([5afa869](https://github.com/unhappychoice/gitlogue/commit/5afa869))
- Add 'bun.lockb' to ignored files list ([01d86ee](https://github.com/unhappychoice/gitlogue/commit/01d86ee))
- Add bun.lock to ignored files list ([d701fc4](https://github.com/unhappychoice/gitlogue/commit/d701fc4))
- docs: add instructions for installing on Arch Linux ([57a2c6e](https://github.com/unhappychoice/gitlogue/commit/57a2c6e))
## [0.2.0] - 2025-11-19
### ⨠Features
- feat: add --loop flag for continuous animation playback ([21c86db](https://github.com/unhappychoice/gitlogue/commit/21c86db))
- feat: add --order flag for commit playback order ([5a45a60](https://github.com/unhappychoice/gitlogue/commit/5a45a60))
- feat: add syntax highlighting for shell scripts ([76f68e2](https://github.com/unhappychoice/gitlogue/commit/76f68e2))
- feat: add OGP image generator and social preview ([0b3d187](https://github.com/unhappychoice/gitlogue/commit/0b3d187))
### š Bug Fixes
- fix: asc/desc order finishes after all commits played ([fe32bbf](https://github.com/unhappychoice/gitlogue/commit/fe32bbf))
- fix: use ~/.config for config path on all platforms ([b9c18e8](https://github.com/unhappychoice/gitlogue/commit/b9c18e8))
- fix(deps): update tree-sitter-yaml API usage for 0.7 compatibility ([ce47173](https://github.com/unhappychoice/gitlogue/commit/ce47173))
- fix(deps): update rand API usage for 0.9 compatibility ([aaf6a98](https://github.com/unhappychoice/gitlogue/commit/aaf6a98))
### š Other Changes
- chore: bump version to v0.2.0 ([e18f250](https://github.com/unhappychoice/gitlogue/commit/e18f250))
- docs: add --loop option documentation ([0e03086](https://github.com/unhappychoice/gitlogue/commit/0e03086))
- docs: add --order option documentation ([db237d9](https://github.com/unhappychoice/gitlogue/commit/db237d9))
- docs: add Terminal Trove Tool of The Week badge ([8fbd92b](https://github.com/unhappychoice/gitlogue/commit/8fbd92b))
- chore: add CODEOWNERS file ([fddb7fb](https://github.com/unhappychoice/gitlogue/commit/fddb7fb))
- chore(deps): update tree-sitter-bash to v0.25 ([aa16451](https://github.com/unhappychoice/gitlogue/commit/aa16451))
- chore(deps): add tree-sitter-bash dependency ([bf7c3c4](https://github.com/unhappychoice/gitlogue/commit/bf7c3c4))
- chore(deps): bump tree-sitter-yaml from 0.6.1 to 0.7.2 ([5165e90](https://github.com/unhappychoice/gitlogue/commit/5165e90))
- chore(deps): bump rand from 0.8.5 to 0.9.2 ([2c902a3](https://github.com/unhappychoice/gitlogue/commit/2c902a3))
- chore(deps): bump toml from 0.8.23 to 0.9.8 ([3a4c730](https://github.com/unhappychoice/gitlogue/commit/3a4c730))
- chore(deps): bump dirs from 5.0.1 to 6.0.0 ([b8a86ed](https://github.com/unhappychoice/gitlogue/commit/b8a86ed))
- chore(deps): bump git2 from 0.19.0 to 0.20.2 ([db56c9f](https://github.com/unhappychoice/gitlogue/commit/db56c9f))
- chore(deps): bump tree-sitter-json from 0.23.0 to 0.24.8 ([0e51963](https://github.com/unhappychoice/gitlogue/commit/0e51963))
- chore(deps): bump clap from 4.5.51 to 4.5.52 ([8e04f01](https://github.com/unhappychoice/gitlogue/commit/8e04f01))
- chore(deps): bump crossterm from 0.28.1 to 0.29.0 ([89b4523](https://github.com/unhappychoice/gitlogue/commit/89b4523))
- chore(deps): bump tree-sitter-md from 0.3.2 to 0.5.1 ([f28e754](https://github.com/unhappychoice/gitlogue/commit/f28e754))
- chore(deps): bump toml_edit from 0.22.27 to 0.23.7 ([93cba7f](https://github.com/unhappychoice/gitlogue/commit/93cba7f))
- chore(deps): bump tree-sitter-css from 0.23.2 to 0.25.0 ([f177622](https://github.com/unhappychoice/gitlogue/commit/f177622))
- chore(deps): bump unicode-width from 0.1.14 to 0.2.0 ([f0c292e](https://github.com/unhappychoice/gitlogue/commit/f0c292e))
- chore: add dependabot configuration for Cargo dependencies ([720b887](https://github.com/unhappychoice/gitlogue/commit/720b887))
- docs: add OLED burn-in warning for screensaver mode ([e310e04](https://github.com/unhappychoice/gitlogue/commit/e310e04))
- refactor: increase OGP image padding for better spacing ([944839d](https://github.com/unhappychoice/gitlogue/commit/944839d))
## [0.1.0] - 2025-11-13
### š Other Changes
- chore: bump version to v0.1.0 ([71b65d6](https://github.com/unhappychoice/gitlogue/commit/71b65d6))
- docs: add screensaver integration examples for Hyprland, Sway, i3, and X11 ([e31b6a4](https://github.com/unhappychoice/gitlogue/commit/e31b6a4))
- docs: expand Related Projects section with terminal screensavers ([047d7ca](https://github.com/unhappychoice/gitlogue/commit/047d7ca))
- Revise README for improved clarity and style ([ed8af4a](https://github.com/unhappychoice/gitlogue/commit/ed8af4a))
## [0.0.5] - 2025-11-12
### š Bug Fixes
- fix: include LICENSE-THIRD-PARTY in package for --license flag ([8b4b3f6](https://github.com/unhappychoice/gitlogue/commit/8b4b3f6))
### š Other Changes
- chore: bump version to v0.0.5 ([f42ea87](https://github.com/unhappychoice/gitlogue/commit/f42ea87))
## [0.0.4] - 2025-11-12
### š Bug Fixes
- fix: reduce package size for crates.io by excluding unnecessary files ([9417aac](https://github.com/unhappychoice/gitlogue/commit/9417aac))
### š Other Changes
- chore: bump version to v0.0.4 ([8df1167](https://github.com/unhappychoice/gitlogue/commit/8df1167))
## [0.0.3] - 2025-11-12
### š Bug Fixes
- fix: use vendored OpenSSL and libgit2 for cross-platform builds ([371338d](https://github.com/unhappychoice/gitlogue/commit/371338d))
### š Other Changes
- chore: bump version to v0.0.3 ([74b0a5b](https://github.com/unhappychoice/gitlogue/commit/74b0a5b))
## [0.0.2] - 2025-11-12
### ⨠Features
- feat: add --license flag to display third-party licenses ([624b0d7](https://github.com/unhappychoice/gitlogue/commit/624b0d7))
- feat: add third-party license tracking ([5b7e078](https://github.com/unhappychoice/gitlogue/commit/5b7e078))
- feat: add Homebrew formula template ([ab80a69](https://github.com/unhappychoice/gitlogue/commit/ab80a69))
- feat: add installation script ([fd0d92b](https://github.com/unhappychoice/gitlogue/commit/fd0d92b))
- feat: add theme set command and config merging ([5a072e2](https://github.com/unhappychoice/gitlogue/commit/5a072e2))
- feat: implement config file with comment preservation ([9d32ccc](https://github.com/unhappychoice/gitlogue/commit/9d32ccc))
- feat: add toml_edit dependency for config comment preservation ([a044363](https://github.com/unhappychoice/gitlogue/commit/a044363))
- feat: add 6 new themes and sort themes alphabetically ([a4d2d6a](https://github.com/unhappychoice/gitlogue/commit/a4d2d6a))
- feat: add --background option for transparent background support ([3d4d78c](https://github.com/unhappychoice/gitlogue/commit/3d4d78c))
- feat: add SelectableParagraph widget with character-boundary wrapping ([a63b08a](https://github.com/unhappychoice/gitlogue/commit/a63b08a))
- feat: extend FileTree background to full width and fix rendering issues ([63a490c](https://github.com/unhappychoice/gitlogue/commit/63a490c))
- feat: update UI to use FileTree caching and unicode width ([5d9c685](https://github.com/unhappychoice/gitlogue/commit/5d9c685))
- feat: improve animation scroll with unicode width support ([7875c23](https://github.com/unhappychoice/gitlogue/commit/7875c23))
- feat: add caching and auto-scroll to FileTree ([e16e6d8](https://github.com/unhappychoice/gitlogue/commit/e16e6d8))
- feat: add sorted file indices method to CommitMetadata ([a2f53f6](https://github.com/unhappychoice/gitlogue/commit/a2f53f6))
- feat: add unicode-width dependency for proper text display width calculation ([131609f](https://github.com/unhappychoice/gitlogue/commit/131609f))
- feat: add exclusion for large files and snapshots ([c9d197f](https://github.com/unhappychoice/gitlogue/commit/c9d197f))
- feat: add exclusion for large files and snapshots ([9dcb567](https://github.com/unhappychoice/gitlogue/commit/9dcb567))
- feat: skip editor animation for renamed/moved files ([5470911](https://github.com/unhappychoice/gitlogue/commit/5470911))
- feat: skip editor animation for deleted files ([be7a325](https://github.com/unhappychoice/gitlogue/commit/be7a325))
- feat: add theme subcommand and configuration loading ([9c80186](https://github.com/unhappychoice/gitlogue/commit/9c80186))
- feat: add 8 built-in themes and theme loading system ([7da0532](https://github.com/unhappychoice/gitlogue/commit/7da0532))
- feat: add config module for theme management ([b1ba337](https://github.com/unhappychoice/gitlogue/commit/b1ba337))
- feat: add dirs dependency for config file support ([c8360bc](https://github.com/unhappychoice/gitlogue/commit/c8360bc))
- feat: add GitHub Actions CI/CD pipeline ([a2f74c1](https://github.com/unhappychoice/gitlogue/commit/a2f74c1))
- feat: enhance editor UI with distance-based opacity and cursor highlighting ([726cb3e](https://github.com/unhappychoice/gitlogue/commit/726cb3e))
- feat: add file dialog animation and eased cursor movement ([2440e8c](https://github.com/unhappychoice/gitlogue/commit/2440e8c))
- feat: add background colors and padding to all panes ([360a3d1](https://github.com/unhappychoice/gitlogue/commit/360a3d1))
- feat: add centralized Tokyo Night theme system ([543f6b0](https://github.com/unhappychoice/gitlogue/commit/543f6b0))
- feat: implement frame rate limiting and batch animation steps ([8927a6b](https://github.com/unhappychoice/gitlogue/commit/8927a6b))
- feat: exclude lock files and generated files from diff animation ([4e12cfe](https://github.com/unhappychoice/gitlogue/commit/4e12cfe))
- feat: implement input handling and exit mechanism ([f16f674](https://github.com/unhappychoice/gitlogue/commit/f16f674))
- feat(syntax): implement tree-sitter syntax highlighting for 26 languages ([8a3b1c3](https://github.com/unhappychoice/gitlogue/commit/8a3b1c3))
- feat(ui): enhance file tree with directory grouping and change stats ([49161be](https://github.com/unhappychoice/gitlogue/commit/49161be))
- feat(animation): make cursor movement faster than typing ([5e1b9cc](https://github.com/unhappychoice/gitlogue/commit/5e1b9cc))
- feat(animation): add random variation to typing speed ([9bd2fc8](https://github.com/unhappychoice/gitlogue/commit/9bd2fc8))
- feat(ui): auto-reload with random commits ([13f8267](https://github.com/unhappychoice/gitlogue/commit/13f8267))
- feat(ui): show cursor in active pane only ([d065558](https://github.com/unhappychoice/gitlogue/commit/d065558))
- feat(editor): add line numbers with highlighting ([c11bdad](https://github.com/unhappychoice/gitlogue/commit/c11bdad))
- feat(terminal): add file open and individual git add commands ([04fcae3](https://github.com/unhappychoice/gitlogue/commit/04fcae3))
- feat(terminal): add character-by-character typing for commands ([053783b](https://github.com/unhappychoice/gitlogue/commit/053783b))
- feat(terminal): add git command animation simulation ([35178e5](https://github.com/unhappychoice/gitlogue/commit/35178e5))
- feat(animation): animate cursor movement line by line ([24059e1](https://github.com/unhappychoice/gitlogue/commit/24059e1))
- feat(animation): add cursor movement between hunks ([b14432d](https://github.com/unhappychoice/gitlogue/commit/b14432d))
- feat(animation): add multi-file support ([7d36d1a](https://github.com/unhappychoice/gitlogue/commit/7d36d1a))
- feat(animation): add auto-scroll to keep cursor centered ([f76c1df](https://github.com/unhappychoice/gitlogue/commit/f76c1df))
- feat(animation): implement typing animation engine ([2064f5e](https://github.com/unhappychoice/gitlogue/commit/2064f5e))
- feat: reduce terminal pane height to 20% ([40d1407](https://github.com/unhappychoice/gitlogue/commit/40d1407))
- feat: implement basic ratatui UI layout ([991f0e9](https://github.com/unhappychoice/gitlogue/commit/991f0e9))
- feat: add full file content extraction for animation ([7f5db95](https://github.com/unhappychoice/gitlogue/commit/7f5db95))
- feat: implement structured diff parsing for animation (#5) ([a5bb886](https://github.com/unhappychoice/gitlogue/commit/a5bb886))
- feat: add file changes and diff extraction ([8696dc4](https://github.com/unhappychoice/gitlogue/commit/8696dc4))
- feat: implement Git repository and commit loading ([2b0c03d](https://github.com/unhappychoice/gitlogue/commit/2b0c03d))
- feat: implement CLI argument parsing ([2841866](https://github.com/unhappychoice/gitlogue/commit/2841866))
- feat: setup project structure and dependencies ([559f44e](https://github.com/unhappychoice/gitlogue/commit/559f44e))
### š Bug Fixes
- fix: track Cargo.lock for binary crate ([c639c2b](https://github.com/unhappychoice/gitlogue/commit/c639c2b))
- fix: prevent panic when area is narrower than padding ([b8b1f56](https://github.com/unhappychoice/gitlogue/commit/b8b1f56))
- fix: add auto-scroll to SelectableParagraph ([b31df27](https://github.com/unhappychoice/gitlogue/commit/b31df27))
- fix: correctly fill background to right edge when lines wrap ([3c9731f](https://github.com/unhappychoice/gitlogue/commit/3c9731f))
- fix: invalidate FileTree cache on content width changes ([2544422](https://github.com/unhappychoice/gitlogue/commit/2544422))
- fix: correct cursor line background fill with unicode width ([e56de82](https://github.com/unhappychoice/gitlogue/commit/e56de82))
- fix: correct viewport height calculation to match actual layout ([0704580](https://github.com/unhappychoice/gitlogue/commit/0704580))
- fix: remove go.mod from excluded files ([e906143](https://github.com/unhappychoice/gitlogue/commit/e906143))
- fix: correct byte offset calculation for CRLF line endings ([a1f6d22](https://github.com/unhappychoice/gitlogue/commit/a1f6d22))
- fix(syntax): improve markdown heading highlighting ([ac35d59](https://github.com/unhappychoice/gitlogue/commit/ac35d59))
- fix(animation): prevent infinite loop on new file additions ([5a1677a](https://github.com/unhappychoice/gitlogue/commit/5a1677a))
- fix(animation): convert Git 1-indexed line numbers to 0-indexed array indices ([761443a](https://github.com/unhappychoice/gitlogue/commit/761443a))
- fix(animation): correct line offset tracking across multiple hunks ([0d18444](https://github.com/unhappychoice/gitlogue/commit/0d18444))
- fix(animation): correct line number tracking in buffer ([cff3064](https://github.com/unhappychoice/gitlogue/commit/cff3064))
- fix(animation): start with empty editor before opening files ([c331621](https://github.com/unhappychoice/gitlogue/commit/c331621))
- fix(animation): handle UTF-8 character indices correctly ([36ea3bb](https://github.com/unhappychoice/gitlogue/commit/36ea3bb))
### š Other Changes
- chore: bump version to v0.0.2 ([202a411](https://github.com/unhappychoice/gitlogue/commit/202a411))
- docs: update installation guide with new methods ([da9c4ff](https://github.com/unhappychoice/gitlogue/commit/da9c4ff))
- chore: set initial version to 0.0.1 ([4d81819](https://github.com/unhappychoice/gitlogue/commit/4d81819))
- docs: add installation methods to README ([1ac5d90](https://github.com/unhappychoice/gitlogue/commit/1ac5d90))
- ci: add automated release workflow ([4714f72](https://github.com/unhappychoice/gitlogue/commit/4714f72))
- docs: simplify GitType link description ([92a968c](https://github.com/unhappychoice/gitlogue/commit/92a968c))
- docs: add link to GitType in Related Projects section ([d7e4227](https://github.com/unhappychoice/gitlogue/commit/d7e4227))
- docs: remove milestone link from README ([4754146](https://github.com/unhappychoice/gitlogue/commit/4754146))
- docs: remove duplicate theme set command from Configuration ([3a62bb4](https://github.com/unhappychoice/gitlogue/commit/3a62bb4))
- docs: move Features section after Installation ([ce09a42](https://github.com/unhappychoice/gitlogue/commit/ce09a42))
- docs: simplify README configuration section ([2d2c6da](https://github.com/unhappychoice/gitlogue/commit/2d2c6da))
- docs: add detailed configuration guide ([88fcfcc](https://github.com/unhappychoice/gitlogue/commit/88fcfcc))
- docs: add configuration section to README ([c33404d](https://github.com/unhappychoice/gitlogue/commit/c33404d))
- refactor: remove old monolithic theme.rs file ([5e0a7be](https://github.com/unhappychoice/gitlogue/commit/5e0a7be))
- refactor: reorganize theme module into separate files ([fa6a5c7](https://github.com/unhappychoice/gitlogue/commit/fa6a5c7))
- style: format code with cargo fmt ([a852cdb](https://github.com/unhappychoice/gitlogue/commit/a852cdb))
- refactor: remove unnecessary wrap calculations from FileTree ([a6849f7](https://github.com/unhappychoice/gitlogue/commit/a6849f7))
- refactor: clean up FileTree code ([8da95db](https://github.com/unhappychoice/gitlogue/commit/8da95db))
- refactor: migrate Editor to SelectableParagraph with dim effect ([85810f0](https://github.com/unhappychoice/gitlogue/commit/85810f0))
- refactor: migrate FileTree to SelectableParagraph with dim effect ([93cc98f](https://github.com/unhappychoice/gitlogue/commit/93cc98f))
- refactor: migrate StatusBar and Terminal to SelectableParagraph ([3e2114c](https://github.com/unhappychoice/gitlogue/commit/3e2114c))
- refactor: use match expression for file status branching ([14c99ca](https://github.com/unhappychoice/gitlogue/commit/14c99ca))
- docs: add demo.gif converted from demo.mp4 ([c028d78](https://github.com/unhappychoice/gitlogue/commit/c028d78))
- docs: add architecture overview documentation ([c0625dd](https://github.com/unhappychoice/gitlogue/commit/c0625dd))
- docs: add contributing guidelines ([f1feb94](https://github.com/unhappychoice/gitlogue/commit/f1feb94))
- docs: add comprehensive usage guide with advanced examples ([50dcd17](https://github.com/unhappychoice/gitlogue/commit/50dcd17))
- docs: add comprehensive installation guide ([a6d790b](https://github.com/unhappychoice/gitlogue/commit/a6d790b))
- docs: enhance theme documentation with detailed guides ([6b8b072](https://github.com/unhappychoice/gitlogue/commit/6b8b072))
- docs: restructure README and update project description ([c8debd9](https://github.com/unhappychoice/gitlogue/commit/c8debd9))
- docs: add theme documentation and update README ([6661a11](https://github.com/unhappychoice/gitlogue/commit/6661a11))
- refactor: accept theme as parameter in UI constructor ([3cbe74d](https://github.com/unhappychoice/gitlogue/commit/3cbe74d))
- Apply suggestion from @coderabbitai[bot] ([c8a1143](https://github.com/unhappychoice/gitlogue/commit/c8a1143))
- perf: optimize char byte offset calculation from O(n²) to O(n) ([4131a78](https://github.com/unhappychoice/gitlogue/commit/4131a78))
- perf: optimize syntax highlighting performance ([0c6f38d](https://github.com/unhappychoice/gitlogue/commit/0c6f38d))
- chore: add ctrlc dependency for signal handling ([6db2f34](https://github.com/unhappychoice/gitlogue/commit/6db2f34))
- docs: add README and ISC LICENSE ([ad8fe8e](https://github.com/unhappychoice/gitlogue/commit/ad8fe8e))
- chore: apply cargo fmt and fix clippy warnings ([3c84db5](https://github.com/unhappychoice/gitlogue/commit/3c84db5))
- refactor: rename project from git-logue to gitlogue ([47d594e](https://github.com/unhappychoice/gitlogue/commit/47d594e))
- refactor(ui): preserve UI instance across commits and cleanup unused code ([c3abee5](https://github.com/unhappychoice/gitlogue/commit/c3abee5))
- refactor(animation): make all durations relative to typing speed ([d22e437](https://github.com/unhappychoice/gitlogue/commit/d22e437))
- refactor(ui): split UI into modular pane structure ([51662c7](https://github.com/unhappychoice/gitlogue/commit/51662c7))
- docs: add project specification ([7e8e4b5](https://github.com/unhappychoice/gitlogue/commit/7e8e4b5))