Conversation
- Change PR title format from "TICKET: title" to "[TICKET] title" - Add --title/-t option to parsec ship for user override - Title priority: --title flag > fresh tracker fetch > stored title > ticket ID Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- Update rustls-webpki to 0.103.13 (RUSTSEC-2026-0098/0099/0104) - Add PARSEC_CONFIG_DIR env var for config path override - Isolate tests from user global config to fix 13 test failures Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- toml 0.8 → 1 - colored 2 → 3 - tabled 0.17 → 0.20 - indicatif 0.17 → 0.18 - dialoguer 0.11 → 0.12 - reqwest 0.12 → 0.13 (rustls-tls → rustls-native-certs + query) - clap_mangen 0.2 → 0.3
…branch names (#214) * feat: validate ticket IDs to prevent path traversal and invalid branch names Add validate_ticket_id() that blocks path traversal (../), shell meta-characters, git ref-unsafe sequences, and control characters while allowing Jira (PROJ-123), GitHub (#42), and generic formats. * style: cargo fmt
…215) * refactor: extract resolve_jira_credentials helper to reduce boilerplate Add resolve_jira_credentials() and has_jira_credentials() helpers in tracker/mod.rs. Replace 7 duplicated config extraction patterns across tracker/mod.rs and tracker_cmds.rs. * style: cargo fmt
Add --dry-run global CLI flag that previews what would happen without making changes. Supported on start, ship, clean, sync, merge, and rename. Merges with clean's existing local --dry-run flag. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Add PolicyConfig with protected_branches and allowed_ship_targets lists. Ship command now validates target branch against policy before PR creation. Supports glob patterns (e.g. release/*) for branch matching. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…at (#219) * feat: standard error codes and structured JSON error format (#165) Introduce ParsecError with typed error codes (E001-E013, E999) and bail_code! macro. Errors now include category-based exit codes (2=auth, 3=conflict, 4=CI, 5=state, 6=policy) and structured JSON output in --json mode: {"error":true,"code":"E002","message":"..."}. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: suppress dead_code warning on ErrorCode enum Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Add --ai flag to doctor command that outputs structured markdown with parsec workflow rules, command reference, and current config for any AI coding agent (Claude, Copilot, Cursor, etc.) to consume. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
The rustls-native-certs feature alone only loads system certificates but does not enable the TLS backend. Adding rustls restores HTTPS connectivity broken by the reqwest 0.12→0.13 upgrade. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes since v0.3.2
🤖 Generated with Claude Code