jjpr v0.11.5
Released 2026-03-03 · View on GitHub
- other Initial implementation of stacker (Phase 1)
- other
stk— print stack overview to stdout - other
stk submit <bookmark>— push, create PRs, update bases, stack comments - other
stk auth test/setup— GitHub authentication management - other
--dry-run,--remote,--reviewerflags - other In-place stack comment editing (sentinel-based, never delete/repost)
- other Change graph construction with merge commit exclusion
- other Revset injection prevention via quoted interpolation
- other Trait-based DI (Jj, GitHub) with 67 unit tests
- other Add test infrastructure and README
- other Fix template bug: stringify(author.email()) for escape_json compatibility
- other Add tier 2 jj integration tests (4 tests against real jj in temp repos)
- other Add tier 3 E2E test harness with prefix-based isolation and Drop cleanup
- other Add README.md and CLAUDE.md
- other Phase 2: daily-driver polish
- other Rename CLI from stk to jjpr
- other Rename GitHub repos and update all references
- other Rename all stacker sentinels and references to jjpr
- other UX improvements: fetch before operate, merged PR detection, title drift warnings, partial failure reporting, reviewer support for existing PRs, PR info in stack overview, better error messages
- other Batch PR lookups, no-op feedback, title drift actionability
- other Fix divergent bookmark sync detection
- other UX polish: version flag, help text, stack headers, README updates
- other Code quality: rename methods, extract shared logic, warn instead of abort on non-critical errors
- other Add merge command: bottom-up stack merging with live re-evaluation
- other Stack boundary detection: foreign base support and --base flag
- other Restructure github/ → forge/: multi-forge foundation
- other Add ForgeKind enum with vocabulary methods (request_noun, format_ref, etc.)
- other Generalize remote detection: parse_gitlab_url, parse_forgejo_url, detect_forge
- other resolve_remote now returns (name, ForgeKind, RepoInfo)
- other Change mark_pr_ready signature from node_id: &str to number: u64 (GhCli fetches the node_id internally — other forges don't need it)
- other Remove pr_node_id from BookmarkNeedingReady
- other Add forge-specific auth help text per ForgeKind
- other Update all imports and test stubs across the codebase
- other Thread ForgeKind through plans and replace hardcoded PR references
- other Add GitLab backend (GlabCli) and wire up forge dispatch
- other Add Forgejo/Codeberg backend (ForgejoCli) with curl transport
- other Add forge and forge_token_env fields with repo-local support
- other Accept token override in forge constructors
- other Wire config-based forge resolution into all commands
- other Improve auth UX, error messages, and README
- other Print detected forge source on auth test/setup
- other Show all forges when auth setup can't detect one
- other Early bail with correct env var name when Forgejo token missing
- other Auth test resolves token from config (not just auto-detect)
- other Update error messages to mention .jj/jjpr.toml config
- other Add ForgeKind Display impl with test
- other Add CLI regression tests for custom forge_token_env
- other Document repo-local config and self-hosted setup in README
- other Add ForgeClient HTTP wrapper, token resolution, and rewrite Forgejo backend
- other Rewrite GitHub backend: gh CLI → ureq ForgeClient with JSON fixture tests
- other Rewrite GitLab backend: glab CLI → ureq ForgeClient
- other Update auth help, README, and token wiring for direct HTTP
- other Consistent token resolution via resolve_token for all forges (including Forgejo)
- other Auth help text: token-based auth primary, gh/glab optional fallbacks
- other README: updated requirements table, removed 'shells out to gh' wording
- other CLAUDE.md: updated architecture description
- other Extract GitLab parse_pipeline_status and parse_mergeability into testable functions
- other Remove Debug derive from ForgeClient (avoids token exposure)
- other Drop deprecated --allow-new flag, require jj 0.36+
- other Diamond-shaped graph support: fix over-exclusion, improve merge reporting
- other Add merge_source_names field to BookmarkSegment and NarrowedSegment
- other Rewrite traversal and graph building to include merge commits in stacks
- other Propagate merge source names through submit pipeline and display
- other Lower MSRV to 1.88 and add crates.io metadata
- other Add differentiation and improve install/requirements sections
- other Validate pagination URLs against base host and cap page count
- other URL-encode branch names in forge API paths
- other Escape bookmark names in stack comments
- other Use single quotes in title drift fix hints
- other Truncate HTTP error bodies to prevent token leakage
- other Add dual MIT/Apache-2.0 license, cargo-deny, and git-cliff config
- other Add CI/release workflows, man page, and shell completions
- other Set version to 0.11.5 for first public release
- other Fix cargo-deny: allow ISC, BSD-3-Clause, CDLA-Permissive-2.0 licenses