docs(changelog): cut v0.41.0 section #126

Merged
funman300 merged 1 commits from docs/changelog-v0.41.0 into master 2026-07-06 20:27:44 +00:00
+15
View File
@@ -6,6 +6,11 @@ project follows [Semantic Versioning](https://semver.org/).
## [Unreleased] ## [Unreleased]
## [0.41.0] — 2026-07-06
> Consolidates everything shipped since v0.39.0, including the v0.40.0v0.40.3
> patch tags (which were cut from this section without renaming it at the time).
### Added ### Added
- **Rules decision record: unlimited stock recycling.** Documented in - **Rules decision record: unlimited stock recycling.** Documented in
@@ -32,6 +37,10 @@ project follows [Semantic Versioning](https://semver.org/).
### Changed ### Changed
- **Engine plugin modules restructured.** The five oversized plugin files
(card, hud, settings, game, input) are now module directories with their
test suites in sibling `tests.rs` files — no behaviour change; first phase
of the module-split plan (#118).
- **Core type ownership.** Routed all klondike/card imports through - **Core type ownership.** Routed all klondike/card imports through
`solitaire_core` and unified local `Suit` / `Rank` with upstream `card_game` `solitaire_core` and unified local `Suit` / `Rank` with upstream `card_game`
types. types.
@@ -43,6 +52,12 @@ project follows [Semantic Versioning](https://semver.org/).
### Fixed ### Fixed
- **Safe-area insets now re-polled after app resume.** The inset poller settled
permanently once insets first resolved, so inset changes while backgrounded
(fold/unfold, rotation, gesture ↔ 3-button nav switch) kept stale layout until
the app was killed. Each resume now re-arms a fresh poll window; the cached
value is rewritten only when it actually changed, so unchanged resumes still
cause no relayout flash. (#116)
- **Tableau fill on foldables / tall screens.** The tableau fan now spreads from - **Tableau fill on foldables / tall screens.** The tableau fan now spreads from
each column's total depth (face-down cards included) and refills on the each column's total depth (face-down cards included) and refills on the
cold-start deal, every move, and on resize (incl. the Android safe-area-inset cold-start deal, every move, and on resize (incl. the Android safe-area-inset