# MTG Python Deckbuilder

## [Unreleased]
### Added
_No unreleased changes yet_

### Changed
_No unreleased changes yet_

### Fixed
- Bug fixes in `theme_preview.py` and `app.py` uncovered by the test suite.
- Pydantic V2 deprecation warning resolved in `DeckExportRequest`.

### Removed
- 16 fragmented/stale test files consolidated or deleted; 7 permanently-skipped tests removed.

## [4.4.2] - 2026-03-26
### Added
- **Community links**: GitHub, issue tracker, feature request, and DockerHub links in the footer and home page.
- **Feature request templates**: GitHub issue templates for General Theme Requests, Commander-Specific Theme Requests, and Other Feature Requests.
- **Feedback prompts**: Inline prompts on the Themes and Commanders pages linking to the relevant request templates.

### Added
- **Smart Land Bases checkbox**: The New Deck modal now has a **Smart Land Bases** checkbox in the Preferences section (checked by default). Enables or disables smart land analysis per-build without needing environment variables.

### Removed
- **`ENABLE_SMART_LANDS` environment variable**: Replaced by the per-build checkbox. Use `LAND_PROFILE` or `LAND_COUNT` for headless overrides.

## [4.3.1] - 2026-03-25
### Added
- **Smart Land Bases**: Land count and basic-to-dual ratio are now adjusted automatically based on the commander's speed and color-pip intensity. Controlled by `ENABLE_SMART_LANDS=1` (default on in Docker).
  - **Speed detection**: Commander CMC determines a speed category applied as an offset to the user's configured ideal land count. Fast (CMC < 3) = −2 lands, mid = ±0, slow (CMC > 4) = +2 to +4 scaling with color count.
  - **Profile selection**: Basics-heavy (~60% basics) for 1–2 color / low-pip decks; Balanced for moderate pip density; Fixing-heavy (minimal basics, more duals/fetches) for 3+ color or high-pip pools (≥15 double-pip or ≥3 triple-or-more-pip cards).
  - **ETB tapped tolerance** is automatically tightened for fast decks and loosened for slow decks.
  - **Budget override**: Low-budget 3+ color decks are pushed to basics-heavy automatically.
  - **Slot earmarking**: Non-land ideal counts are scaled to fit within the remaining slots after the land target is set.
  - **Backfill**: A final land step pads with basics if any land phase falls short.
  - Override with `LAND_PROFILE=basics|mid|fixing` or `LAND_COUNT=<n>`. A **Smart Lands** notice in the Land Summary explains the chosen profile.

### Changed
_No changes_

### Fixed
_No changes_

### Removed
_No changes_
