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.
- Fix CD pipeline by @o2sh in 497d4c011ede6acba4b3ca4c1e62f9aecaf20528
- add language support for Nushell by @o2sh in #1687
- add language support for Slint by @opmr0 in #1710
- fix npm manifest parsing by @o2sh in #1693
- always show ascii-language when provided by CLI by @o2sh in #1713
- ascii_colors should match ascii-language colors when provided by CLI when no language detected bcfca6ba6f4fb05b723b64c5a2d6b315d7c74e71
- simplify logic for commit graph traversal, reduce parallelization by @o2sh in #1682
- Add Copy button with toaster to Ascii preview by @o2sh in #1679
- Fix CD pipeline by @o2sh in becddb963ce78f25f2a1f88921b34f9a61e08cc9
- Add colors to --help by @starsep in #1633
- No unsafe by @Sk7Str1p3 in #1646
- bump cargo edition to 2024 by @o2sh in a3062f48db4eb2ff43cf8965f33f60b9454b4908
- increase default color resolution for sixel by @o2sh in 73300b60e38920aced8cfee376ad1051a1706f76
- skip get_main_language call if no language detected by @o2sh in 10603ae2e6259c93595f5e5e7ff35b1d312541af
- add language support for Text by @Kajiih in #1579
- support repos "without source code" by @o2sh in #1580
- improve error handling by @Mahdiglm in #1560
- remove extra line break by @o2sh in 886d942c510864612c1ad58a64a9c91b1193b9e9
- add language support for Lean by @foxyseta in #1509
- add language support for Typst by @foxyseta in #1508
- add language support for Razor by @SrS2225a in #1521
- more idiomatic way to fetch HEAD refs by @o2sh in #1515
- more idiomatic way to fetch repository remote URL by @o2sh in #1516
- update holyc language logo by @o2sh in #1543
- update wiki powershell-snippet by @FallenDeity in #1542
- add nix local setup @Sk7Str1p3 in #1549
- Fix version in man page
- add language support for OpenSCAD by @kenchou in #1502
- add language support for Modelica by @dietmarw in #1262
- add language support for ATS by @pykenny in #523
- add language support for CUDA by @jtmr05 in #940
- add missing nerd fonts icons for some languages by @ankddev in #1491
- add Italian translation of README by @tlazzarin in #1435
- add Polish translation of README by @adamperkowski in #1444
- add Czech translation of READEME by @Amereyeu in #1439
- update russian README by @ankddev in #1478
- [onefetch.dev] migrate to Svelte v5 by @o2sh in #1455
- add script to preview/validate Nerd Fonts by @spenserblack in #1492
- add Powershell snippet to run onefetch automatically by @kiapanahi in #1453
- Add support for nerd font glyphs in languages info by @Localghost385 in #1395
- [onefetch.dev] Add nerdfont iconts to the preview by @Localghost385 in #1411
- Automate publishing crates to crates.io by @musicinmybrain in #1364
- Show future commit dates without panicking by @MalteT in #1389
- Re-generate the man page with --no-info by @musicinmybrain in #1376
- Drop unused shebangs from repo test fixture scripts by @musicinmybrain in #1375
- Add CLI option to force URL format to HTTP instead of SSH by @0spotter0 in #1314
- Add CLI flag to hide token from repository URL by @o2sh in #1319
- Make Lua logo more readable on dark terminal by @o2sh in #1337
- Fix deadlock in Churn computation by @Nettifani in #1316
- Exclude bot commits from churn when
--no-botsoption is used by @o2sh in #1335
- [onefetch.dev] switch to dark theme by @o2sh in #1297
- RUSTSEC-2024-0320: remove yaml-rust dependency by @Suyun114 in #1309
- Refactor
--no-botsCLI option by @o2sh in #1340
This version marks the completion of the transition from git2 to gitoxide. No more dependency to git2, onefetch is now fully oxidized!
- Add svg language support by @Localghost385 in #1266
- lang: Adding Oz programming language by @luxluth in #1280
- website: Filter entries by language type in onefetch.dev by @o2sh in #1227
- Use GitHub's alert syntax by @spenserblack in #1234
- Add german translation of
README.mdby @rdwz in #1236 - Use
gitoxideto get pending changes by @Byron in #1285
- exclude files from churn by @o2sh in #1120
- add odin support by @spsandwichman in #1064
- New language: Arduino by @Sh4rk-Byte in #1176
- Right align authorship percentages by @lukehsiao in #1207
- Add Agda to languages.yaml by @Zoltan-Balazs in #1216
- add a test for negative dates and see how onefetch handles it by @Byron in #1100
- Group clap dependency updates by @spenserblack in #1101
- Group all NPM dependency updates by @spenserblack in #1110
- Added Turkish Translations by @4Chaffenel in #1135
- use workspace inheritance by @o2sh in #1142
- docs(contributing): Add syntax highlighting to YAML block by @spenserblack in #1172
- add release.yml file by @o2sh in #1177
- replace action-rs by @o2sh in #1191
- Resolve clippy warnings by @spenserblack in #1201
- Refactor and test info field styling by @spenserblack in #1214
- Refactoring git metrics module by @o2sh in #1217
- upgrade to
gix0.53.1 by @Byron in #1166
- don't fail when computing diff on partial clones (#1093) @Byron @o2sh
- fetch banner info from github (#1094) @spenserblack @o2sh
- add new info line called "Churn" which displays the files with the most modifications (commits) (#1071) @o2sh @Byron
- add Hlsl support (#1082) @progDes007
- add info builder pattern
- performance: optimize case where repo has a commit-graph for massive performance gains (#1081) @Byron
- docs: add a cmd.exe version of the cd snippet (#1048) @mataha
- refacto: use the builder pattern to instantiate the
Infostruct (#1047) @o2sh @spenserblack - improve bot regex (#1086) @o2sh @spenserblack
- Improve code coverage of src/info/mod.rs (#1011) @changhc
- Improve code coverage of src/ui/mod.rs (#1012) @changhc
- Added fish git repository greeter script to wiki (#1021) @TheSast
- upgrade gitoxide to v0.44 (and incorporate #1023):x (#1024) @Byron @spenserblack
- Disable line wrap (#983) @o2sh
- Add Pascal support (#989) @rchastain
- Add Coldfusion support (#971) @theemanofsteele
- Remove github token from url field (#996) @jim4067
- Changed Hashbang (#979) @gautamprikshit1
- Prevent conflicts in wiki action 39fe441 @spenserblack
- Fix typos (#992) @hezhizhen
- Group CLI options in sections (#995) @o2sh
- replace --show-logo with --no-art (#1002) @o2sh
- Set snapshot language to plain text (#1003) @spenserblack
- Better error message when human_time panics (#1010) @o2sh
- remove github token from url field
- Add GLSL language support #490 (#824) @sangsatori
- Fix Markdown / Jupyter markup not getting counted (#937) @spenserblack
- upgrade gix to 0.36.1 to avoid breakage. (#965) @Byron
- Fix path to language template (#939) @spenserblack
- Create the Arabic README file (Arabic translation) (#950) @anas-elgarhy
- Refactoring of info/langs/mod.rs (#948) @o2sh
- Remove country flags #928 @o2sh
- Upgrade git-repository 0.30 to gix 0.36 (#963) @Byron
- Fix CD Github action @o2sh
- Add --number-separator CLI flag #892 @o2sh
- Add Makefile language support #867 @ozwaldorf
- Vercel: add section links #922 @ozwaldorf
- Add gitpod.io configuration #881 @spenserblack
- Use human_panic #887 @o2sh
- Read license from manifest first #769 @o2sh
- Install cargo-insta in dev containers #909 @spenserblack
- Info struct to holds a Vec #911 @o2sh
- Add benchmark #912 @o2sh
- GH action to synchronize wiki with .github/wiki #926 @spenserblack @o2sh
- Clean up greeter and fix repository detection mechanism in wiki #927 @quazar-omega
- Turn AsciiArt.rs into its own crate #934 @o2sh
- Use ISO time for snapshot tests #908 @spenserblack
- Parse multi-byte unicode chars correctly + docs #936 @ozwaldorf
- Include assets in crate a2f508a @o2sh
- Fix clap deps for onefetch-image crate 8cca7af
- Add description field to onefetch-image and onefetch-manifest crate 2888186 @o2sh
- Fix CD 5085c5b @o2sh
- Add description info line #851 @o2sh
- Add CLI flag to set the maximum number of languages to be shown 8159b34 @o2sh
- Add VisualBasic language support #867 @antonizyla
- Add manifest crate #851 @o2sh @spenserblack
- Move image_backends into its own crate 9ce17c1 @o2sh
- Add devcontainer/codespace config #857 @spenserblack
- Switch to Swatinem/rust-cache for caching 7592eb2 @o2sh
- Add README translation for Korean #869 @abiriadev
- add icon to windows exe 584574f @o2sh
- Fix typo in help message for -e (--exclude) #861 @skogseth
- [fix] Repo without remote should not fail #841 @o2sh
- [chore] Add integration tests with snapshot testing for Info struct #827 @atluft
- [chore] Refactor test expressions #831 @saguywalker
- [ci/cd] fix Snapcraft release
- [misc] fix Cargo.lock
onefetch is now typically more than twice as fast when executing. This was achieved by reducing
allocations and switching to gitoxide for the most taxing tasks.
A new web interface onefetch.dev was developed where users can visualize an ASCII preview for all the programming languages currently supported by onefetch. Like the binary, the data is parsed from the Languages.yaml file.
- [chore] reducing allocations and switching to gitoxide from libgit2 #635 @Byron
- [docs] add README translation for Spanish #631 @JakeRoggenbuck @practicatto
- [docs] add Changelog generated using cargo-smart-release #637 @Byron
- [cli] add --completion option #657 @spenserblack
- [language] update PHP colors #664 @DenverCoder1
- [misc] switch to actions/stale #666 @spenserblack @o2sh
- [misc] add github issue forms #667 @spenserblack @o2sh
- [ci/cd] generate Windows installer from CD #668 @o2sh
- [ci/cd] create WinGet workflow for auto publishing #673 @russellbanks
- [language] update logo: shell #677 @fux0c1ety
- [docs] adding french documentation support #693 @Kaderovski
- [chore] extract language definitions into data file #699 @spenserblack
- [ci/cd] add codecov + tarpaulin in ci @o2sh
- [misc] create Vercel app for onefetch with ASCII preview #701 @spenserblack
- [docs] update the README in Russian #736 @AndreyKozhev
- [chore] turn InfoField into a trait (big refactoring) #755 @o2sh
- [language] Improve JSX ASCII logo #784 @alessandroasm
- [language] Improve TSX ASCII logo #785 @alessandroasm
- [language] added support for verilog #789 @atluft
- [language] improve ruby logo #786 @atluft
- [language] added support for xsl #798 @atluft
- [language] added support for systemverilog #797 @atluft
- [test] add unit tests to src/info/info_field.rs #810 @alessandroasm
- [ci/cd] automate publish to crates.io #800 @spenserblack
- [language] added support for ABNF #811 @atluft
- [test] add unit tests src/info/repo/commits.rs #813 @alessandroasm
- [test] add unit tests src/info/repo/contributors.rs #814 @alessandroasm
- [language] added support for ABAP #821@atluft
- [test] testing get_git_username using git-testtools for #812 @atluft
- [language] improve bash logo @o2sh
- [language] improve assembly logo @o2sh
- [test] add unit tests for author.rs #829 @gallottino @Oniryu95
- Commits replaced with
git replaceare now followed. This can be turned off by setting theGIT_NO_REPLACE_OBJECTSenvironment variable. - Shallow clones are now detected and displayed as such. Previously it might have appeared that
the commit count is the real even though it was truncated due to the shallow-ness of the
repository.
If a repository is shallow,
(shallow)will appear after the commit count.
- git2 repository can now be owned by the
Repotype Previously this wasn't possible as commits would be kept inRepowhich would cause self-referential borrow check issues unless the git2 repository was kept outside. - completely separate
CommitsandRepostructure - put all commit-traversal related initialization into own struct