Changelog
[Unreleased]
v0.15.0 - 2025-05-23
Added
- Added reviewer selection functionality for PR creation in
pq submit
andpq pr
commands- Automatically fetch repository collaborators and owner as potential reviewers
- Interactive checkbox interface for selecting multiple reviewers
- Option to skip reviewer selection entirely
- Selected reviewers are automatically assigned when creating PRs
v0.14.0 - 2025-05-22
Added
- Added multiline support for PR descriptions
Fixed
- Fixed
update_branches_with_conflict_handling
to properly handle cases when no child branches exist
v0.13.1 - 2025-05-21
Fixed
- Fixed checking PR checks status by using
conclusion
field instead ofstate
field
v0.13.0 - 2025-05-21
Added
- Display clickable PR URLs after creating or updating pull requests in
pq submit
andpq pr
commands - Check if PR required status checks have passed before merging, with option to proceed anyway
- Automatically detect when force-push is needed:
- Detect amended commits for automatic force-push with lease during
pq submit
- Detect non-fast-forward updates that would otherwise fail during
pq submit
- Eliminate need for user confirmation, making it safer and more convenient
- Detect amended commits for automatic force-push with lease during
- Improved push behavior in
update
andsync
commands:- Automatically push successfully updated branches to remote by default
- Added
--no-push
option to skip pushing to remote - Skip pushing branches that don't exist on remote yet
- Only push branches that were successfully updated
- Skip pushing branches that are already in sync with remote
Changed
- Refactored
update
andsync
commands to leverage theStacks
class and utilities:- Replaced recursive implementation with a non-recursive approach
- Added consistent error handling with (success, error_message) return pattern
- Leveraged existing branch utilities to reduce code duplication
- Enhanced conflict handling in
update
andsync
commands:- Continue updating other branches when one branch has conflicts
- Skip branches whose parents had conflicts
- Provide a report of branches with conflicts at the end
- Return specific error messages for conflicted branches
- Improved Git error handling with explicit parameter to control stderr return behavior
Fixed
- Fixed force-push detection to properly capture Git error messages
v0.12.0 - 2025-05-13
Added
- Added
up
command to navigate to parent branch in the stack - Added
down
command to navigate to child branches with smart selection for multiple children - Added
pre-commit
integration for automatic code formatting and linting - Added
tests.yml
workflow integration for automated testing
Changed
- Improved CLI interface with logical command grouping:
- Navigation Commands (up, down, switch, list, etc.)
- Branch Management (new, delete, rename, etc.)
- Update & Sync (update, modify, sync)
- Pull Request Operations (pr, submit, merge)
- Enhanced help menu formatting and readability with rich-click styling
v0.11.0 - 2025-05-13
Added
- Added
untrack
command to remove branches from the panqake stack without deleting the git branch - Added
rename
command to rename branches while preserving their stack relationships - Added a new
Stacks
data structure class for more robust branch relationship management - Added new branch relationship utilities:
- Branch lineage tracking (all ancestors of a branch)
- Descendant tracking (all children, grandchildren, etc.)
- Common ancestor finding between branches
- Branch tree visualization
- Branch parent changing with circular reference protection
Changed
- Improved
remove_from_stack
utility function to return status and properly handle child branches - Enhanced stack metadata handling when branches are removed, preserving branch hierarchy
- Improved error reporting when branches cannot be found in stack metadata
- Refactored config.py to extract common file operations into helper functions
- Reduced code duplication and improved error handling consistency in configuration utilities
- Unified branch tree visualization in a single implementation in the
Stacks
class - Enhanced tree visualization with proper tree connectors (└──, ├──, │) and current branch indicator
Fixed
- Fixed
delete
command to prompt for branch name when none is provided - Added protection to prevent deletion of main and master branches
v0.10.0 - 2025-05-05
Changed
- Run rebase using
--autostash
option to allow running on dirty worktree.
v0.9.1 - 2025-05-02
Changed
- Minor formatting changes to outputs of certain commands
v0.9.0 - 2025-04-30
Added
pq submit
will now prompt the user if they also want to create a PR. This simplifies the workflow by not requiring the user to explicitly callpq pr
after submitting changes.
Removed
- Removed old prompt utils that were no longer being used
v0.8.0 - 2025-04-29
Added
- Added create_branch utility function
- Added branch hierarchy visualization for checkout command
Changed
- Refactored code to use the common checkout_branch utility
- Enhanced branch hierarchy display before showing switching options in switch command
- Improved update command to continue instead of aborting on conflicts
v0.7.0 - 2025-04-28
Added
- Added a new
submit
command to replace theupdate-pr
command - Added documentation for arguments in commands
- Added aliases for list (
ls
) and switch (co
) commands - Added
rich
library for improved terminal output and formatting
Changed
- Changed from argparse to
click
for CLI parsing - Improved UI for showing PR information using
rich
Panel - Enhanced console output using
rich
library
Fixed
- Fixed formatting issues for printing information
- Fixed
delete
command to work without confirmation when upstream branch is deleted and confirmed by user
v0.6.0 - 2025-04-28
Added
- Added a new
sync
command to fetch latest changes from the remote main branch, update local child branches, and optionally delete merged branches. - Added utilities for common branch related git operations
Changed
- Refactored
merge
andupdate
to use common extracted branch utility functions
v0.5.0 - 2025-04-24
Added
- Added Git command pass-through functionality - any unrecognized commands are passed to vanilla Git
- Improved CLI experience by allowing standard Git commands to work seamlessly within Panqake
v0.4.0 - 2025-04-23
Added
- Added file selection UI for staging files in the modify command
- Added
--no-amend
flag to force creating new commits instead of amending - Added smart handling for new branches vs. branches with commits in modify command
- Added improved rename/copy file handling during staging
Changed
- Enhanced modify command to show unstaged changes and prompt for selection
- Modified branch detection to better handle parent branch identification
- Improved user experience with clear feedback during file staging
v0.3.1 - 2025-04-23
Fixed
- Fixed error messages appearing when checking if a branch exists during branch creation
v0.3.0 - 2025-04-23
Added
- Added track command to add existing Git branches to the stack
v0.2.0 - 2025-04-22
Added
- Added merge command to streamline merging branches
- Added modify and update-pr commands
- Added select prompt functionality
- Improved branch selection workflows
Changed
- Consolidated common code into git and github utilities
- Now using a common run_gh_command utility
- Update command now pushes to remote branches, automatically updating associated PRs
- Better formatting while printing information
- Updated README with more complete information
Fixed
- Fixed import issue in git.py
- Fixed publishing workflow
- Ensured stacks.json accuracy after merge and branch deletion
- Verify branch is pushed to remote before creating PR
Removed
- Removed shell scripts in favor of Python implementations
- Removed test_pr
- Removed claude.md
v0.1.0 - Initial Release
Added
- Initial project structure and core functionality
- Implementation of basic commands (new, list, delete, update)
- Added switch command to move between branches
- Added PR creation capability
- Integration with GitHub CLI
- Integrated prompt_toolkit for interactive prompts
- Added pytest configuration and initial tests
- Added "pq" as an alias for "panqake"
Changed
- Moved from using prompt_toolkit directly to questionary for improved prompts
- Simplified PR module structure
- Simplified delete module
Fixed
- Fixed nested branch display
- Improved color styling for better readability
- Added type hints and related fixes
- Fixed prompt_confirm function