# @codeatlasdev/ui 2.3.1: @codeatlasdev/ui 2.3.1 Page: https://ui.codeatlas.com.br/changelog/2.3.1/. Index: https://ui.codeatlas.com.br/llms/changelog.txt. 1 changesets. 1 changes. This release has no written post; the list below is generated from the changelog. ## In short 1. Theme islands: a data-theme-scope inside a data-preset island n.... Theme islands: a `data-theme-scope` inside a `data-preset` island now takes that island's preset instead of the page's. ## Upgrade ```bash bun add @codeatlasdev/ui@2.3.1 ``` Across majors: `bunx @codeatlasdev/ui migrate --from --to `, or the MCP tool `get_migration`. ## Changesets ### Patch Changes - 3280fc2: Theme islands: a `data-theme-scope` inside a `data-preset` island now takes that island's preset instead of the page's. Before, the page preset's rule also matched the scope, so a brand preset on `` (unlayered) always won, and between two built-ins the one emitted later in `global.css` won. The landing hero demo ignored its preset swatches because of this (#87). Bundle budget: `styles/global.css` +122 B gzip (limit raised from 12800 to 12900 B). Each preset's scope selectors (light, dark and their `prefers-contrast: more` copies) now carry the nearer-island exclusion; `core.css` stays within its limit.