Releases: rootCircle/bgit
v0.4.2
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)
- Bug with ai commit message gen (
v0.4.1
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
- Upgrade deps (
51e13e5)
- Upgrade deps (
v0.4.0
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
SshAgentManagertrait for platform-specific agent behaviors. - Implement
UnixSshAgentManagerandWindowsSshAgentManagerwith platform-specific logic. - Consolidate common SSH utilities (key adding, agent checks) into
ssh_utils.rs. - Update
src/auth/ssh/mod.rsto re-export functions based on the target platform. - Ensure
ensure_agent_readyandstart_agent_detachedare available through the platform-agnostic interface.
- Define a
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)
- Update bgit to v0.4 (
v0.3.7
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
v0.3.6
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)
- Duplicate key files from global_config (
v0.3.5
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_msgfor PromptStep alignment.
- Wrapped prompt_step_task.execute in self.pb.suspend to prevent
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)
- Suspend progress bar for clean stderr output (
v0.3.4
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_keysto return the first key added. - Add
serialize_b64_optandsave_globaltoGlobalConfigfor proper serialization and saving of config. - Modify
GlobalIntegrationsandHttpsAuthto useserialize_b64_optandskip_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
v0.3.3
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-commitandpost-commithooks. - Add logic to resolve
core.hooksPathfrom 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.
- Document bgit's hook system, including portable (
- Update installation instructions and add install scripts
- Added
docs/INSTALL.mdwith comprehensive installation details. - Introduced
scripts/install.shfor Linux/macOS andscripts/install.ps1for Windows to automate installation. - Updated
README.mdto reference the new installation guide and include quick install commands. - Enhanced installation instructions to cover precompiled binaries, Cargo installation, advanced options, and troubleshooting.
- Added
New Features
- Add cross compilation and artifact packaging for more targets
- Install
crossfor Linux builds. - Add build steps for
x86_64-unknown-linux-musl,aarch64-unknown-linux-gnu, andaarch64-unknown-linux-musltargets on Linux. - Add build step for
aarch64-apple-darwintarget on macOS. - Add artifact packaging for the newly supported Linux and macOS targets.
- Generate aggregate checksums in
RELEASES.txtfor all packaged artifacts. - Add optional GPG signing for
RELEASES.txt.
- Install
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
Release v0.3.2
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-releasewithcargo smart-releaseto prevent duplicate changelog entries.
- clippy fixes
Refactor
- Extract auth callbacks to shared module
- Moved git authentication logic from
GitPull::setup_auth_callbacksto a new shared functionsetup_auth_callbacksinsrc/auth/git_auth.rs. - Updated
GitPull::create_fetch_optionsto use the new shared function. - This promotes code reuse and centralizes authentication handling.
- Moved git authentication logic from
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
v0.3.1
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
homecrate 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.
- Improved SSH key handling by adding the
-
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-fixtarget 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.
- Added a
-
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)