Skip to content

docs: update README for v2.7.0 - #272

Merged
Manabu-GT merged 4 commits into
mainfrom
docs/release-v2.7.0
Aug 9, 2026
Merged

docs: update README for v2.7.0#272
Manabu-GT merged 4 commits into
mainfrom
docs/release-v2.7.0

Conversation

@Manabu-GT

@Manabu-GT Manabu-GT commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Release prep for v2.7.0, following #271.

README

  • Bump dependency coordinate examples from 2.6.3 to 2.7.0 (10 references).
  • Add Crash to the Debug Panel tab list, positioned to match the real tab order, linking to a new short "Crash logs" section.
  • Remove the "Logcat buffer size" paragraph claiming maxLogcatEntries "bounds the logcat -T N / -t N calls … when the panel opens and when a bug report snapshot is captured". All three parts are false as of feat: add crash log persistence and its ui tab #271: the one-shot -t N capture was removed, the reader now starts with the process rather than on panel open, and the replayed history is a fixed amount independent of this value.

CHANGELOG — v2.7.0:

Note: bug reports already included logs without the panel being opened (via the old one-shot capture fallback), so the changelog attributes that gain to crash records only.

Docs only; no build or test run required.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added crash-log capture with persistent storage and a dedicated Crash tab.
    • Added actions for viewing and managing captured crash logs.
    • Logcat streaming now begins automatically when the app starts.
    • Updated maxLogcatEntries behavior to retain the configured number of entries.
  • Documentation

    • Updated setup examples and release guidance for version 2.7.0.
    • Documented crash-log retention, display, compatibility, and available actions.

- Bump dependency coordinate examples in README from 2.6.3 to 2.7.0.
- Add the Crash tab to the Debug Panel list and a short "Crash logs" usage
  section covering the new crash log persistence (#231).
- Drop the "Logcat buffer size" paragraph about `logcat -T N` / `-t N`: the
  one-shot capture is gone, the reader no longer starts on panel open, and
  the replayed history is no longer tied to maxLogcatEntries.
- Add CHANGELOG entry for v2.7.0 covering crash log persistence (#271),
  the switch to streaming logcat from app start, and AGP 9.3.1 (#241).

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

claude Bot commented Aug 9, 2026

Copy link
Copy Markdown

Claude finished @Manabu-GT's task in 2m 43s —— View job


Review: docs update for v2.7.0

  • Gather context (diff, README, CHANGELOG)
  • Verify version bumps are complete
  • Verify Crash tab claims against code
  • Verify maxLogcatEntries behavior claims
  • Verify AGP version + references
  • Post review

Verdict: accurate and ready to merge. I checked every factual claim against the code rather than taking the PR description at its word, and they all hold. Findings below are optional polish, not blockers.


What I verified

Claim Evidence
No stale 2.6.3 left anywhere grep across *.md / *.kts / *.toml / *.properties returns nothing outside CHANGELOG history
Crash tab sits between AppExits and Network BuiltInTab enum order is LOGCAT, CUSTOM_LOG, APP_EXITS, CRASH_LOG, NETWORK, JANKSTATS, UI, DEVICE_INFO — README bullet order matches exactly, DebugPanelDialog.kt:65-74
Tab is labelled "Crash" debugoverlay_tab_crash_logCrash, strings.xml:18
"the 5 most recent are kept" DEFAULT_MAX_CRASH_RECORDS = 5, CrashRecordStorage.kt:18
"Copy, share or delete each" CrashLogDetailScreen.kt:82 (share), :88 (delete), :198 (copy)
Records carry stack trace + logs + network CrashRecord.kt:41-45 (stackTrace, logcatLogs, customLogSourceData, networkRequests)
"existing crash reporter unaffected" DebugOverlay.kt:112-123 chains in front of the previous handler; ARCHITECTURE.md:108 confirms delegation happens in a finally and never calls killProcess()
AGP 9.3.1 gradle/libs.versions.toml:3agp = "9.3.1"

The removed -T N / -t N paragraph — correct call

This was the claim most worth checking, and the removal is right on all three counts:

  • LogcatDataSource.kt:34 explicitly states the replay depth is "Fixed rather than tied to" the config value — so maxLogcatEntries no longer bounds -T N.
  • The reader now starts with the process, not on panel open (LogcatDataSource.kt:159 notes the repository shares eagerly and costs one logcat -T N).
  • No one-shot -t N capture remains in the source tree.

The old v2.6.0 entry at CHANGELOG.md:49 still carries the now-obsolete wording, but that's a historical record of what shipped then, and the new Changes bullet is exactly the right way to correct it going forward. Leave it.


Optional polish

1. ### Logcat buffer size lost its only note about scope (README.md:196-204)

Deleting the wrong paragraph left the section saying only that the tab keeps 300 entries. But that buffer isn't just the tab's — DebugOverlay.kt:250-251 documents it as "also what bug reports and crash records read." That's a genuinely useful thing for a reader tuning this value to know, and it's now the one place it isn't said. A one-liner restores the signal without the falsehood:

This buffer is also what bug reports and crash records read from.

Fix this →

2. Crash records cap logs at 100 entries, not maxLogcatEntries — left as an inline comment with a suggested edit on the new Crash logs section. CrashRecordBuilder.kt:8 sets DEFAULT_MAX_LOG_LINES = 100 and takeLast(maxLines) applies it to logcat, custom logs and network requests alike. Since the Crash logs section sits directly below the maxLogcatEntries section, a reader who bumps that to 1000 will expect 1000 lines in the crash record.

3. Date nitCHANGELOG.md:3 says 2026-08-08; today is 2026-08-09, so the tag will likely land a day after the stated date. Worth a bump if you tag today.

Non-issues I checked and dismissed

  • #crash-logs anchor### Crash logs generates #crash-logs; the link from the tab list resolves. #network-request-tracking and #timber-log-capture also still resolve.
  • Missing PR link on the AGP entry — the preceding Update Gradle to 9.6.1. entry has no link either, so this matches house style.
  • Crash tab visibilityBuiltInTab.entries is filtered only for CUSTOM_LOG (DebugPanelDialog.kt:274-279), so the Crash tab is always present, badged only when crashRecordCount > 0. Both docs describe it in a way that stays true at zero records.
  • Security/performance — docs-only diff, nothing to assess. Nothing in the added prose leaks internal paths or overpromises. Per docs/TESTING.md, documentation-only changes need no build or test run, so I ran none.
    · branch docs/release-v2.7.0

@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Manabu-GT, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 28 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 7f5ad980-b791-48a4-935f-16b3a0a9f1bf

📥 Commits

Reviewing files that changed from the base of the PR and between 9adf6f3 and 57340b2.

⛔ Files ignored due to path filters (1)
  • art/readme_crash_log.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • README.md
📝 Walkthrough

Walkthrough

The PR documents Version 2.7.0, including persisted crash logs, the Crash tab, Logcat behavior, updated dependency examples, and AGP 9.3.1 release notes.

Changes

Release documentation

Layer / File(s) Summary
Crash and Logcat documentation
README.md
The README documents the Crash tab, persisted crash logs, retention, actions, and revised Logcat behavior.
Version 2.7.0 release updates
CHANGELOG.md, README.md
The changelog adds Version 2.7.0 notes. README dependency examples now use version 2.7.0 across the documented integrations.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The documentation describes persisted crash logs, but the provided changes contain no code to verify issue #231 implementation. Provide the implementation changes or evidence that issue #231 is already implemented and tested.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the README documentation update for version 2.7.0.
Out of Scope Changes check ✅ Passed The README and CHANGELOG updates match the stated version 2.7.0 documentation objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/release-v2.7.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Comment thread README.md Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1e5adcfb0d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread README.md
Comment thread README.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 208-210: Update the crash-reporting descriptions to distinguish
persistence from network capture: in README.md lines 208-210, state that crash
persistence needs no setup while network activity requires the OkHttp extension
or another configured source; apply the same qualification to the Crash tab
description in README.md line 56 and the release note in CHANGELOG.md line 7.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: da315e64-8359-46b2-a5f4-b46a861d0ff4

📥 Commits

Reviewing files that changed from the base of the PR and between 0fd4dd4 and 1e5adcf.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • README.md

Comment thread README.md Outdated
Comment on lines +208 to +210
No setup required. Crashes are saved to disk and shown in the **Crash** tab on the next launch,
with the stack trace and the logs/network activity leading up to them. Copy, share or delete each;
the 5 most recent are kept. Your existing crash reporter is unaffected.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Qualify network capture as optional.

DebugOverlay defaults to NoOpNetworkRequestSource. Network activity requires a configured source, such as the OkHttp extension.

  • README.md#L208-L210: State that crash persistence needs no setup, but network activity requires the OkHttp extension or another configured source.
  • README.md#L56-L56: Qualify the Crash tab description with the same condition.
  • CHANGELOG.md#L7-L7: Add the same condition to the release note.
📍 Affects 2 files
  • README.md#L208-L210 (this comment)
  • README.md#L56-L56
  • CHANGELOG.md#L7-L7
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 208 - 210, Update the crash-reporting descriptions to
distinguish persistence from network capture: in README.md lines 208-210, state
that crash persistence needs no setup while network activity requires the OkHttp
extension or another configured source; apply the same qualification to the
Crash tab description in README.md line 56 and the release note in CHANGELOG.md
line 7.

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown

Qodana for JVM

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

Manabu-GT and others added 3 commits August 8, 2026 20:17
Review feedback on #272:
- Crash records trim each source to the last 100 entries
  (CrashRecordBuilder.DEFAULT_MAX_LOG_LINES), independent of maxLogcatEntries.
  The section directly above tells readers to raise that to 1000, so state the
  cap rather than let the adjacency imply it applies.
- Network activity needs a configured NetworkRequestSource; the default is
  NoOpNetworkRequestSource, so a bare install captures none. Matches how the
  Network tab entry already links to its setup section.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sits beside the debug panel gif, mirroring the bug report section's
gif + png pairing.

Both are pinned to width=256 so they render on one line: the gif is 256px
wide natively while the screenshot is 1080px, which would otherwise fill the
row and push the gif below it. Their aspect ratios match (0.4499 vs 0.4500),
so equal widths give equal heights.

Screenshot downscaled to 540px and run through pngquant (272KB -> 57KB); it
still opens larger than it renders, so the stack trace stays readable.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Consecutive <img> lines don't sit next to each other: GitHub's renderer wraps
each one in its own <p>, so they stack as separate blocks. Verified via the
/markdown API. Wrapping both in a single <p> puts them in one block, where
they flow inline.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Manabu-GT
Manabu-GT merged commit b21594e into main Aug 9, 2026
3 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.

[FEATURE] Persist crash logs so they are not lost after app restart

1 participant