release: report 3.3.0, so the version the gate reads matches the tag - #516
Conversation
v3.3.0 is tagged, but src/__init__.py still says "3.2.0" -- and that string,
not the git tag, is what the compatibility gate compares
(store_manager.py: `from src import __version__ as core_version`).
The effect is that every plugin flooring at 3.3.0 is refused on a device
running 3.3.0. Checked against the real gate and the real manifest:
core __version__ reported to the gate : 3.2.0
hockey floor : 3.3.0
verdict : REFUSE
"supports LEDMatrix >=3.3.0, but this system is running 3.2.0"
That is all eight sports scoreboards plus calendar 1.2.3, and it would read as
a broken plugin store rather than a stale constant.
The TRUSTWORTHY_FLOOR escape hatch does not cover this: it exempts cores
reporting below 2.0.0 as "unknown rather than old", and 3.2.0 is above it, so
the number is trusted and compared.
This is the same slip as v3.1.0, which was tagged six weeks before its version
string was bumped and shipped __version__ = "1.0.0" -- the reason that escape
hatch exists at all.
With the bump, the same gate call returns ALLOW for hockey at both the
sports_card and sports_shared floors, and for calendar 1.2.3.
CHANGELOG.md gains the 3.3.0 section. That file is what plugin authors read to
decide which release to floor on, so it records the three new modules --
src/common/sports_card.py, sports_game_renderer.py and sports_shared.py --
against this version, along with the three traps in adopting the mixins.
No test pinned the old literal; the ones that care monkeypatch __version__.
135 compatibility tests pass.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe package version changes from 3.2.0 to 3.3.0. The changelog documents the sports-library sunset, compatibility gate updates, fixed issues, and new configuration and schema behavior. ChangesRelease metadata
Estimated code review effort: 1 (Trivial) | ~3 minutes Merge Risk: ⚪ Minimal · up to The PR updates the reported release version to 3.3.0 and documents the release, enabling compatibility checks to accept plugins targeting 3.3.0. No actionable merge-blocking risk remains beyond normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation 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 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Duplication | 0 |
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.
v3.3.0is tagged, butsrc/__init__.pystill says"3.2.0"— and that string, not the git tag, is what the compatibility gate compares:What that costs today
Every plugin flooring at 3.3.0 is refused on a device running 3.3.0. Run against the real gate and the real manifest:
That is all eight sports scoreboards plus
calendar1.2.3 — and it presents as a broken plugin store rather than a stale constant.The
TRUSTWORTHY_FLOORescape hatch does not cover it: that exempts cores reporting below2.0.0as "unknown rather than old". 3.2.0 is above the floor, so the number is trusted and compared.This is the same slip as
v3.1.0, which was tagged six weeks before its version string was bumped and shipped__version__ = "1.0.0"— the reason the escape hatch exists at all.After the bump
Same gate call, same manifests:
Also
CHANGELOG.mdgains its 3.3.0 section. That file exists so plugin authors know which release to floor on, so it records the three new importable modules —src/common/sports_card.py,sports_game_renderer.py,sports_shared.py— against this version, plus the three traps in adopting the mixins (theSportsRecentSharedMixinbase-order hazard, why_plugin_dir()walks the MRO, and which three methods deliberately stay in the plugins).Verification
No test pinned the old literal — the ones that care monkeypatch
__version__. 135 compatibility tests pass.This should merge before the plugin-side PRs, or they publish eight plugins nobody can install.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation