Skip to content

chore: prepare the 3.8.1 release - #756

Merged
ChuckBuilds merged 4 commits into
mainfrom
claude/release-3.8.1
Oct 5, 2026
Merged

ChuckBuilds merged 4 commits into
mainfrom
claude/release-3.8.1

Conversation

@ChuckBuilds

@ChuckBuilds ChuckBuilds commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Summary

This PR prepares the 3.8.1 release:

  • Version: src.__version__ goes from 3.8.0 to 3.8.1.
  • CHANGELOG: the Unreleased entries (46 commits since v3.8.0) move under ## 3.8.1, with a short summary at the top and an empty Unreleased above it.

Why now

On 3.8.0, scrolling at any speed slower than one pixel per refresh looks wrong. Both fixes are already on main but in no release, so every device on the stable channel still has these problems:

Found on a user rig (Pi 4, 2×128×64, adafruit-hat-pwm). Stocks and odds were stepped at the default speed. stock-news had been hand-tuned to 60 px/s to avoid that, and showed the 1-pixel tear instead. Leaderboard at 1 px per refresh was fine. hdpi, which runs main, was smooth.

After moving that rig to main, every scroller logs smooth:

  • ledmatrix-stocks at 50 px/s: frame median 20.01 ms, p95 20.08 ms, 0 stalls
  • leaderboard at 100 px/s: frame median 10.00 ms, p95 10.05 ms

CHANGELOG corrections

I checked the rest of the 3.8.0 section against v3.8.0:CHANGELOG.md. The #710 block was the only entry added there after the tag.

Versioning note

This is a large patch release: Bookworm support, control socket stages 2 and 3, and fetch service stages 1 and 2 are in it. The new modules (fetch_service, display_arbiter) are core-internal and set no ledmatrix_min_version floor. 3.9.0 is where the remaining deprecation markers are removed, so 3.8.1 keeps that boundary where it is. If you'd rather call this 3.9.0, the removals would have to come with it.

Test plan

  • python scripts/check_release_version.py v3.8.1: OK
  • test_version_consistency.py, test_core_version_freshness.py, test_deprecation.py, test_scan_order.py, test_scroll_config.py: 127 passed
  • After merging, tag v3.8.1 on the squash commit and publish the release. The release-version-check workflow runs on the tag.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Scrolling is smoother at slower speeds and when frames are held.
    • Added support for Raspberry Pi OS Bookworm.
    • Expanded display control and shared data-fetching capabilities.
  • Bug Fixes
    • Fixed issues in the web interface and Plugin Manager.

Bumps src.__version__ to 3.8.1 and moves the Unreleased CHANGELOG entries
under a 3.8.1 heading, with an empty Unreleased above it.

The reason for the release is smooth scrolling at held-frame speeds. On
3.8.0 the default 50 px/s snapped to a stepped 48 px/s on a 120 Hz panel,
and any scroll slower than one pixel per refresh showed a half-pixel step
across the middle of the panel. Both are fixed on main (#710, #711) but
were in no release, so every stable-channel device still had them.

- #710's CHANGELOG entry had been filed under 3.8.0 although it merged
  after the v3.8.0 tag; it moves to 3.8.1.
- #711 had no CHANGELOG entry; it gets one.

scripts/check_release_version.py v3.8.1 passes.

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

coderabbitai Bot commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Warning

Review limit reached

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

Next included review available in 40 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c1d89c41-a2d9-46fd-a66f-4f4ddf209387
📥 Commits

Reviewing files that changed from the base of the PR and between bbac787 and 662a85e.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • docs/SPORTS_UNIFICATION.md
  • src/__init__.py
  • src/common/README.md

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6416193a-f26c-45ce-abf5-ce5ec9a4cc1f
📥 Commits

Reviewing files that changed from the base of the PR and between a74b5a2 and bbac787.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • src/__init__.py

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The changelog adds a 3.8.1 release entry, including scroll and release-component notes. It moves the 3.8.0 scroll-speed subsection into that entry. The package version changes from 3.8.0 to 3.8.1.

Changes

3.8.1 release metadata

Layer / File(s) Summary
Release entry and package version
CHANGELOG.md, src/__init__.py
The changelog adds 3.8.1 release highlights and moves the scroll-speed notes from 3.8.0. The package version changes to 3.8.1.

Priority: ⬇️ Low

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

Change: Other

Merge Risk: ⚪ Minimal · up to bbac7

The release metadata is consistent with version 3.8.1; no material merge risk is identified.

Architecture Summary

Architecture risk: 🔵 Low · up to bbac7

The change affects 2 systems.

Changed systems: src, CHANGELOG.md

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — src (service) was modified; 1 changed file maps to changed impact.
  • observed — CHANGELOG.md (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in CHANGELOG.md: Adds the 3.8.1 release heading and highlights. Documents scroll-speed advice and smoother held-frame presentation, including skipping scan-order compensation when a blit takes more than half a refresh. Also summarizes the release’s platform, service, socket, fetch, and web UI changes.
  • observed — Modified behavior in CHANGELOG.md: Removes the 3.8.0 “Scroll speed” subsection describing slider advice and solve_crisp() behavior; that material is now included in the 3.8.1 entry.
  • observed — Modified behavior in src/init.py: __version__ now reports 3.8.1 instead of 3.8.0.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the 3.8.1 release preparation, which matches the version and changelog updates in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

ChuckBuilds and others added 2 commits October 5, 2026 09:44
@ChuckBuilds

Copy link
Copy Markdown
Owner Author

Updated for the owner's decision to ship sports family 5 in 3.8.1:

scripts/check_release_version.py v3.8.1 passes.

@ChuckBuilds
ChuckBuilds merged commit a669d78 into main Oct 5, 2026
15 checks passed
@ChuckBuilds
ChuckBuilds deleted the claude/release-3.8.1 branch October 5, 2026 14:11
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