Skip to content

Tags: omarkohl/jip

Tags

v1.3.0

Toggle v1.3.0's commit message
chore: jump to v1.3.0 to signal production readiness

Skipped v1.0.0 as that can paradoxically look unfinished.

v0.11.0

Toggle v0.11.0's commit message
feat: clarify stack position in PR description

Annotate current PR in stack block with dependency hint or
base-of-stack indicator so reviewers immediately understand
merge order without reading the footnote.

v0.10.0

Toggle v0.10.0's commit message
docs: minor formatting issue

v0.9.0

Toggle v0.9.0's commit message
feat: include commit body in PR description

The jj template was only fetching description.first_line(), so the
commit body was never available for PRs. Now fetches the full
description, splits it into Title()/Body(), and passes the body
through to PR creation and stack body updates. Stacked PRs show a
"## Description" heading above the commit body to distinguish it
from jip metadata.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

v0.8.0

Toggle v0.8.0's commit message
fix: separate stdout/stderr in jj runner to avoid parse errors

jj can write warnings to stderr (e.g. "Refused to snapshot some files").
Using CombinedOutput() mixed these into the JSONL output, causing
ParseChanges to fail. Switch Log() and BookmarkList() to capture
stderr separately via cmd.Output().

v0.7.0

Toggle v0.7.0's commit message
fix: escape code fences in diff comments when content contains backticks

Diffs of markdown files can contain triple backticks which prematurely
close the outer code fence, breaking the rendered comment. Use a longer
fence (N+1 backticks) when the diff content contains N consecutive
backticks.

v0.6.0

Toggle v0.6.0's commit message
fix: use jj's synced() instead of unreliable ahead/behind counts

Bug: after rebasing a change onto a main branch with many new commits
(~10+), `jj send` would skip the change with "remote is ahead of
local" instead of pushing it.

Root cause: the bookmark list template used jj's tracking_ahead_count
and tracking_behind_count with .exact(), falling back to 0 when the
SizeHint couldn't compute the value. With many commits between old and
new parent, the behind count silently fell to 0, making a legitimate
rebase (ahead>0, behind>0) look like "remote is ahead" (ahead>0,
behind=0).

Fix: replace ahead/behind counts with jj's synced() template function,
which reliably indicates whether local and remote agree. Push safety
is now determined by !conflict && !synced, matching jj's own model.
This eliminates the SyncBehind state entirely — when conflict is false
and not synced, the local side is always authoritative (jj
auto-fast-forwards on fetch, so a non-conflicting difference means the
local was deliberately moved).

v0.5.0

Toggle v0.5.0's commit message
docs: minor improvements

v0.4.0

Toggle v0.4.0's commit message
feat: improve PR comment footer and stacked PR footnote

Add jj interdiff alongside git range-diff in the diff comment footer.
Simplify the no-changes message. Add links to why/reviewing docs in
the stacked PR footnote.

v0.3.0

Toggle v0.3.0's commit message
docs: add screenshots

fixes #8