Skip to content

v0.3.1

Choose a tag to compare

@rootCircle rootCircle released this 12 Aug 19:01
· 42 commits to main since this release
bad33a9

Chore

  • git pull fix
  • move few helper method to impl
  • unimplemented error on other subcommands
  • update LICENSE owners & lint

Documentation

  • add library links
  • fix overide sole contributor values

New Features

  • Enhance SSH Key Handling and Git Push Functionality

    • Improved SSH key handling by adding the home crate to determine the user's home directory and fixing ssh-agent lifecycle issues.
    • Added support for force-with-lease via git CLI, enhancing the push functionality.
    • Implemented persistent ssh-agent with a fixed socket and avoided duplicate agents.
    • SSH passphrase support
    • Improve force-with-lease logic
    • Enhanced error messages and remote determination for better user experience.
    • Updated authentication workflow to support passphrase and personal access tokens (PAT).
    • Extracted authentication logic from git_clone, git_pull and git_push
      and refactored it to a auth module.
  • Improve rule efficiency and add Rust 1.88 support
    This commit introduces several changes to improve the efficiency of rules and updates the Rust version to 1.88.

    • Updated Rust version to 1.88 in Cargo.toml.
    • Added combined boolean expressions across multiple files.
  • Refactor to rig-core and validate commit message
    Switches from google-generative-ai-rs to rig-core for commit
    message generation. Adds ValidateConventionalCommit tool for
    prompting an LLM to generate commit messages, and removes
    google-generative-ai-rs and related dependencies.

    This resolves issues with response handling.

  • IT setup

  • Refactor file size checks, add install target
    This commit refactors the way file sizes are checked and
    introduces an install target in the Makefile.

    • Reduced default max large file size to 2MiB
    • Increased default max repo size to 128MiB
    • Increased default cumulative staged file size to 32MiB
    • Added directory size calculation to get_path_size
    • Added an install target to Makefile
  • Add pre-commit hook and file size checks
    This commit introduces a pre-commit hook to run formatting and
    linting, and implements a check to ensure that files staged are not too large to
    prevent performance issues with Git.

    • Added a precommit-fix target to the Makefile to run cargo fmt and clippy.
    • Implemented a rule to check staged file sizes.
    • Added file size rule to push action to prevent pushing large files.
  • Use constants for default file size limits
    This commit introduces constants for default maximum file and repository sizes, and uses these constants in the relevant rules, improving maintainability and configurability.

Bug Fixes

  • fix class of bugs which occurs on empty repo with no commit (repo.head())
    added rule of remotes exists
  • fix clippy issue
  • remove unnecessary check of unstaged files
  • resolve nitpicks
  • replace force with force_with_lease
  • strip .git suffix from cloned repository folder names

Other

  • cargo sort

  • upgrade package

  • remove codecov integration

  • Improve large file detection and LFS suggestion
    This commit fixes the following issues:

    • Fixes a bug where capture group 2 would error if it didn't exist.
    • Changes the NoLargeFile rule level to "error" to ensure that large files are not committed.
    • Enhances large file detection to consider both individual file size and total size of staged/modified files.
    • Improves the suggestion messages for using Git LFS, including instructions for tracking files by extension or specific files.
    • Adds automatic LFS tracking by extension to .gitattributes.

Refactor

  • simplify error handling in GitStatus methods

Commit Statistics

  • 26 commits contributed to the release over the course of 63 calendar days.
  • 64 days passed between releases.
  • 24 commits were understood as conventional.
  • 1 unique issue was worked on: #7

Commit Details

view details
  • #7
    • Enhance SSH Key Handling and Git Push Functionality (71760eb)
  • Uncategorized
    • Git pull fix (e0cd371)
    • Improve rule efficiency and add Rust 1.88 support (18ab7a4)
    • Refactor to rig-core and validate commit message (886e05e)
    • Cargo sort (7fa30f5)
    • Simplify error handling in GitStatus methods (02492a4)
    • Move few helper method to impl (8eae1be)
    • Refactor error handling in Git event modules (9b9786e)
    • IT setup (562f838)
    • Fix class of bugs which occurs on empty repo with no commit (repo.head()) (af08bbb)
    • Fix clippy issue (1fc4d3c)
    • Upgrade package (a8b37f7)
    • Unimplemented error on other subcommands (4435aba)
    • Update LICENSE owners & lint (261ccfe)
    • Remove codecov integration (2d435c1)
    • Remove unnecessary check of unstaged files (1684ada)
    • Resolve nitpicks (e543f19)
    • Replace force with force_with_lease (2dea085)
    • Strip .git suffix from cloned repository folder names (3670d97)
    • Add library links (c4ce388)
    • Refactor file size checks, add install target (dcd50c9)
    • Improve large file detection and LFS suggestion (66531db)
    • Add pre-commit hook and file size checks (ecbf6af)
    • Use constants for default file size limits (c74a22c)
    • Fix overide sole contributor values (3dbf649)
    • Fix broken image in ARCHITECTURE.md (750b25f)