Skip to content

Releases: rootCircle/bgit

v0.4.2

23 Sep 21:05
dc5bb01

Choose a tag to compare

Bug Fixes

  • bug with ai commit message gen

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Bug with ai commit message gen (b3ea22b)

v0.4.1

23 Sep 19:40
52ee6c6

Choose a tag to compare

Other

  • upgrade deps

Commit Statistics

  • 1 commit contributed to the release.
  • 8 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized

v0.4.0

15 Sep 00:00
b5ddfe4

Choose a tag to compare

Chore

  • update bgit to v0.4
  • update ssh agent socket basename
    • Updated comments to reflect the change and clarify platform-specific behavior.
  • add AGENTS.md

Documentation

  • Update AGENTS.md with logging conventions

New Features

  • Improve agent authentication and key management

    • Enhance SSH agent authentication to explicitly use configured agent socket.
    • Allow interactive addition of SSH keys when agent authentication fails.
    • Refactor SSH utility functions to accept explicit agent configuration.
    • Improve handling of stale SSH agent sockets on Unix-like systems.
    • Introduce functions for managing bgit-specific SSH agent state.
    • Set global SSH environment variables for libgit2 compatibility.
  • Introduce platform-agnostic SSH agent management
    Refactor SSH authentication logic to support different platforms by introducing
    a trait-based approach for SSH agent management.

    • Define a SshAgentManager trait for platform-specific agent behaviors.
    • Implement UnixSshAgentManager and WindowsSshAgentManager with platform-specific logic.
    • Consolidate common SSH utilities (key adding, agent checks) into ssh_utils.rs.
    • Update src/auth/ssh/mod.rs to re-export functions based on the target platform.
    • Ensure ensure_agent_ready and start_agent_detached are available through the platform-agnostic interface.

Commit Statistics

  • 8 commits contributed to the release.
  • 27 days passed between releases.
  • 6 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Update bgit to v0.4 (21e5069)
    • Update ssh agent socket basename (913aab2)
    • Update AGENTS.md with logging conventions (ea529bb)
    • Fix(ssh): Validate environment SSH_AUTH_SOCK and PID Add validation for the SSH_AUTH_SOCK environment variable on Unix. The agent socket must exist, be a valid socket file, and respond to authentication requests. If the environment variables are invalid or the agent is unresponsive, they will be ignored. (7c4013b)
    • Improve agent authentication and key management (23ea725)
    • Add AGENTS.md (6e0b827)
    • Introduce platform-agnostic SSH agent management (803f71f)
    • Refactor SSH authentication handling (65c7d20)

v0.3.7

18 Aug 16:13
9991c47

Choose a tag to compare

Bug Fixes

  • remove stale ssh-agent socket if agent is dead
  • broken links

Commit Statistics

  • 2 commits contributed to the release.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Remove stale ssh-agent socket if agent is dead (d1f54eb)
    • Broken links (a332e8a)

v0.3.6

17 Aug 17:50
296e743

Choose a tag to compare

Bug Fixes

  • duplicate key files from global_config

Commit Statistics

  • 1 commit contributed to the release.
  • 1 day passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Duplicate key files from global_config (b2678e0)

v0.3.5

16 Aug 15:45
29504f3

Choose a tag to compare

Bug Fixes

  • Suspend progress bar for clean stderr output
    • Wrapped prompt_step_task.execute in self.pb.suspend to prevent
      dialoguer prompts from interfering with the progress bar.
    • Created pa14_ai_commit_msg for PromptStep alignment.

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Suspend progress bar for clean stderr output (fdb1ee6)

v0.3.4

16 Aug 14:07
563fe6d

Choose a tag to compare

Chore

  • fix install script for mac

New Features

  • auth.preffered integration and auth.ssh save
  • prompt to persist SSH key and update config
    • Add interactive prompt to persist SSH key to global config.
    • Update add_all_ssh_keys to return the first key added.
    • Add serialize_b64_opt and save_global to GlobalConfig for proper serialization and saving of config.
    • Modify GlobalIntegrations and HttpsAuth to use serialize_b64_opt and skip_serializing_if.
  • auth.https integration

Bug Fixes

  • ensure formatting after clippy fix

Refactor

  • introduce global configs

Commit Statistics

  • 6 commits contributed to the release.
  • 6 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Ensure formatting after clippy fix (21aedab)
    • Auth.preffered integration and auth.ssh save (23853d6)
    • Prompt to persist SSH key and update config (5e3f971)
    • Auth.https integration (4c315bb)
    • Introduce global configs (1af265e)
    • Fix install script for mac (125c1b6)

v0.3.3

16 Aug 07:18
74601c7

Choose a tag to compare

Documentation

  • Add HOOKS.md and improve hook execution
    • Document bgit's hook system, including portable (.bgit/hooks) and native Git hooks.
    • Clarify hook execution order and platform notes.
    • Implement support for standard Git pre-commit and post-commit hooks.
    • Add logic to resolve core.hooksPath from local, global, and .git/hooks.
    • Warn users about unsupported native Git hooks (e.g., pre-push, commit-msg).
    • Improve hook execution fallback for non-executable files on Unix-like systems.
    • Update USAGE.md with a minor correction to the code block for the repository URL.
  • Update installation instructions and add install scripts
    • Added docs/INSTALL.md with comprehensive installation details.
    • Introduced scripts/install.sh for Linux/macOS and scripts/install.ps1 for Windows to automate installation.
    • Updated README.md to reference the new installation guide and include quick install commands.
    • Enhanced installation instructions to cover precompiled binaries, Cargo installation, advanced options, and troubleshooting.

New Features

  • Add cross compilation and artifact packaging for more targets
    • Install cross for Linux builds.
    • Add build steps for x86_64-unknown-linux-musl, aarch64-unknown-linux-gnu, and aarch64-unknown-linux-musl targets on Linux.
    • Add build step for aarch64-apple-darwin target on macOS.
    • Add artifact packaging for the newly supported Linux and macOS targets.
    • Generate aggregate checksums in RELEASES.txt for all packaged artifacts.
    • Add optional GPG signing for RELEASES.txt.

Refactor

  • Improve error messages and tips for adding remotes

Commit Statistics

  • 4 commits contributed to the release over the course of 2 calendar days.
  • 2 days passed between releases.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Add HOOKS.md and improve hook execution (377aeb5)
    • Improve error messages and tips for adding remotes (86564ed)
    • Update installation instructions and add install scripts (178e216)
    • Add cross compilation and artifact packaging for more targets (e39ff22)

Release v0.3.2

12 Aug 20:58
611a386

Choose a tag to compare

Other

  • add release workflow and update Makefile
    • Add GitHub Actions workflow for automated releases on tag pushes.
    • Workflow includes building artifacts for different OS, verifying tag
      matches Cargo.toml, and creating a GitHub release with assets.
    • Update Makefile to use --no-changelog-github-release with cargo smart-release to prevent duplicate changelog entries.
  • clippy fixes

Refactor

  • Extract auth callbacks to shared module
    • Moved git authentication logic from GitPull::setup_auth_callbacks to a new shared function setup_auth_callbacks in src/auth/git_auth.rs.
    • Updated GitPull::create_fetch_options to use the new shared function.
    • This promotes code reuse and centralizes authentication handling.

Commit Statistics

  • 3 commits contributed to the release.
  • 3 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Extract auth callbacks to shared module (5ff6992)
    • Add release workflow and update Makefile (2df5ff4)
    • Clippy fixes (4129d48)

v0.3.1

12 Aug 19:01
bad33a9

Choose a tag to compare

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)