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