Skip to content

fix(ldf): invalidate stale selection cache - #1100

Merged
zackees merged 1 commit into
mainfrom
fix/ldf-cache-mode-invalidation
Jul 21, 2026
Merged

fix(ldf): invalidate stale selection cache#1100
zackees merged 1 commit into
mainfrom
fix/ldf-cache-mode-invalidation

Conversation

@zackees

@zackeeszackees commented Jul 21, 2026

Copy link
Copy Markdown
Member

Closes#1094.\n\nBumps the LDF mode cache identity so cached selections from before sketch-rooted library discovery cannot keep stale framework sources in the build.\n\nValidation:\n- bash ./test -p fbuild-library-select\n- soldr cargo check -p fbuild-library-select -p fbuild-build-engine -p fbuild-build-arm\n- Fresh FastLED Blink teensy41 release build with current fbuild daemon; symbol audit reports no Audio, SdFat, SerialFlash, SDClass, or SD symbols.

Summary by CodeRabbit

  • Bug Fixes
    • Updated library selection caching so outdated cached results are refreshed and recalculated when needed.

@coderabbitai

coderabbitaiBot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c0e88a9e-f570-4bc6-9a1c-9accbb8e9a5f

📥 Commits

Reviewing files that changed from the base of the PR and between 0cedfaf and febcdd1.

📒 Files selected for processing (1)
  • crates/fbuild-library-select/src/cache.rs

📝 Walkthrough

Walkthrough

The library-selection cache key version changes from 3 to 4, causing entries generated with the previous version to be recomputed.

Changes

Library selection cache

Layer / File(s)Summary
Invalidate stale resolver entries
crates/fbuild-library-select/src/cache.rs
LDF_MODE_VERSION is incremented from 3 to 4, invalidating library-selection cache entries created under the previous version.

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

Possibly related issues

Possibly related PRs

  • FastLED/fbuild#1097 — Related LDF framework-library selection changes also update cache versioning.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title is concise and accurately summarizes the cache invalidation change.
Linked Issues check✅ PassedThe LDF mode version bump invalidates stale resolver cache entries, which matches the reported stale self-selection behavior.
Out of Scope Changes check✅ PassedOnly the cache identity version changed, so no unrelated scope creep is present.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ldf-cache-mode-invalidation

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.

@zackees
zackees merged commit cd210ee into mainJul 21, 2026
97 of 101 checks passed
@zackees
zackees deleted the fix/ldf-cache-mode-invalidation branch July 21, 2026 21:18
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

fix(ldf): avoid self-selecting Teensy framework libraries and their global state

1 participant

@zackees