Refreshing a marketplace writes its record in one transaction instead of rewriting the whole file.
What's wrong with this entry?
Refreshing a marketplace now updates its record inside a single transactional write that stamps the last-updated time, instead of mutating memory and rewriting the whole file.
- The installed-plugins save error now wraps its underlying cause rather than passing it through bare.
- The plugin catalog fetch moved from an ad-hoc promise latch to a shared loader.
- Plugin startup awaits a migration step when a storage handle is supplied.
lastUpdated
Strings lifted out of the shipped bundle, so the claim above can be checked against them.