Skip to content

Release v2.5.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 06:58
1dfcda1

Added

  • theme <Name> - an application-level block (alongside ui profile) declaring a named visual theme and the component packages it is compatible with, via one or more compatible with <Package> lines.
  • ui profile gains an optional theme <Name> line selecting a theme.
  • A ui profile selecting a theme not declared compatible with one of the profile's own packages is reported at compile time - the same warning class as an ambiguous or unknown name, naming the incompatible package. Selecting a theme nothing in the document declares gets the same unresolved-name treatment.
  • New Theme documentation page, cross-linked from UI profile.

(#96)

Notes for reviewers

The compatibility check applies uniformly to every package literally listed in a profile's packages block, including core when a profile lists it explicitly - there is no implicit "core is always compatible" special case. A theme that wants broad applicability declares compatible with core itself (matching the issue's own theme Midnight example); nothing is assumed on its behalf. This keeps the rule simple and free of hidden magic, at the cost of requiring every theme meant to be broadly usable to say so explicitly.

The issue's own diagnostic-numbering note ("start new ones at SP0035") uses the wrong prefix for this repo - codes here are PLAY-prefixed (confirmed on #94, the same mistake recurred in this issue's text). New codes continue from the actual highest allocated, PLAY0224, through PLAY0232.