Skip to content

release: v0.3.3#224

Merged
erishforG merged 16 commits intomainfrom
develop
Apr 22, 2026
Merged

release: v0.3.3#224
erishforG merged 16 commits intomainfrom
develop

Conversation

@erishforG
Copy link
Copy Markdown
Owner

Summary

  • Merge develop into main for v0.3.3 release

Changes since v0.3.2

🤖 Generated with Claude Code

erishforG and others added 16 commits April 22, 2026 13:42
- 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
…216)

Add pr_number and pr_url fields to UndoInfo, parse PR number from URL
during ship, and display PR column in `parsec log` table.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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>
@erishforG erishforG merged commit f51eb4b into main Apr 22, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant