ApricityUIСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (94)
release
apricityui-neoforge-26.1 1.2.9
1.2.926 окт. 2026 г.12Minecraft: 26.1neoforge
Что нового
ApricityUI 1.2.9
- Built-in Markdown rendering (Txtmark) plus a side-by-side Markdown editor example
- Zoom HUD with the current percentage and a Reset button
- New t16-terminal and t02-create themes; rebuilt Modrinth light/dark themes
- CSS image-rendering, native Markdown table layout, expanded Grid/Flex
- Java <-> WebView2 JSON bridge; KubeJS/Rhino page-script fallback
- Fixes: quoted HTML attributes (#148), SVG CSS fill/stroke (#147), currentColor (#145), deletion input events (#142)
See the full changelog on GitHub.
release
apricityui-neoforge-1.21.1 1.2.9
1.2.926 окт. 2026 г.75Minecraft: 1.21.1neoforge
Что нового
ApricityUI 1.2.9
- Built-in Markdown rendering (Txtmark) plus a side-by-side Markdown editor example
- Zoom HUD with the current percentage and a Reset button
- New t16-terminal and t02-create themes; rebuilt Modrinth light/dark themes
- CSS image-rendering, native Markdown table layout, expanded Grid/Flex
- Java <-> WebView2 JSON bridge; KubeJS/Rhino page-script fallback
- Fixes: quoted HTML attributes (#148), SVG CSS fill/stroke (#147), currentColor (#145), deletion input events (#142)
See the full changelog on GitHub.
release
apricityui-fabric-26.1 1.2.9
1.2.926 окт. 2026 г.15Minecraft: 26.1fabric
Что нового
ApricityUI 1.2.9
- Built-in Markdown rendering (Txtmark) plus a side-by-side Markdown editor example
- Zoom HUD with the current percentage and a Reset button
- New t16-terminal and t02-create themes; rebuilt Modrinth light/dark themes
- CSS image-rendering, native Markdown table layout, expanded Grid/Flex
- Java <-> WebView2 JSON bridge; KubeJS/Rhino page-script fallback
- Fixes: quoted HTML attributes (#148), SVG CSS fill/stroke (#147), currentColor (#145), deletion input events (#142)
See the full changelog on GitHub.
release
apricityui-fabric-1.21.1 1.2.9
1.2.926 окт. 2026 г.23Minecraft: 1.21.1fabric
Что нового
ApricityUI 1.2.9
- Built-in Markdown rendering (Txtmark) plus a side-by-side Markdown editor example
- Zoom HUD with the current percentage and a Reset button
- New t16-terminal and t02-create themes; rebuilt Modrinth light/dark themes
- CSS image-rendering, native Markdown table layout, expanded Grid/Flex
- Java <-> WebView2 JSON bridge; KubeJS/Rhino page-script fallback
- Fixes: quoted HTML attributes (#148), SVG CSS fill/stroke (#147), currentColor (#145), deletion input events (#142)
See the full changelog on GitHub.
release
apricityui-fabric-1.20.1 1.2.9
1.2.926 окт. 2026 г.19Minecraft: 1.20.1fabric
Что нового
ApricityUI 1.2.9
- Built-in Markdown rendering (Txtmark) plus a side-by-side Markdown editor example
- Zoom HUD with the current percentage and a Reset button
- New t16-terminal and t02-create themes; rebuilt Modrinth light/dark themes
- CSS image-rendering, native Markdown table layout, expanded Grid/Flex
- Java <-> WebView2 JSON bridge; KubeJS/Rhino page-script fallback
- Fixes: quoted HTML attributes (#148), SVG CSS fill/stroke (#147), currentColor (#145), deletion input events (#142)
See the full changelog on GitHub.
release
apricityui-forge-1.20.1 1.2.9
1.2.926 окт. 2026 г.262Minecraft: 1.20.1forge
Что нового
ApricityUI 1.2.9
- Built-in Markdown rendering (Txtmark) plus a side-by-side Markdown editor example
- Zoom HUD with the current percentage and a Reset button
- New t16-terminal and t02-create themes; rebuilt Modrinth light/dark themes
- CSS image-rendering, native Markdown table layout, expanded Grid/Flex
- Java <-> WebView2 JSON bridge; KubeJS/Rhino page-script fallback
- Fixes: quoted HTML attributes (#148), SVG CSS fill/stroke (#147), currentColor (#145), deletion input events (#142)
See the full changelog on GitHub.
release
apricityui-forge-1.19.2 1.2.9
1.2.926 окт. 2026 г.7Minecraft: 1.19.2forge
Что нового
ApricityUI 1.2.9
- Built-in Markdown rendering (Txtmark) plus a side-by-side Markdown editor example
- Zoom HUD with the current percentage and a Reset button
- New t16-terminal and t02-create themes; rebuilt Modrinth light/dark themes
- CSS image-rendering, native Markdown table layout, expanded Grid/Flex
- Java <-> WebView2 JSON bridge; KubeJS/Rhino page-script fallback
- Fixes: quoted HTML attributes (#148), SVG CSS fill/stroke (#147), currentColor (#145), deletion input events (#142)
See the full changelog on GitHub.
release
apricityui-forge-1.18.2 1.2.9
1.2.926 окт. 2026 г.11Minecraft: 1.18.2forge
Что нового
ApricityUI 1.2.9
- Built-in Markdown rendering (Txtmark) plus a side-by-side Markdown editor example
- Zoom HUD with the current percentage and a Reset button
- New t16-terminal and t02-create themes; rebuilt Modrinth light/dark themes
- CSS image-rendering, native Markdown table layout, expanded Grid/Flex
- Java <-> WebView2 JSON bridge; KubeJS/Rhino page-script fallback
- Fixes: quoted HTML attributes (#148), SVG CSS fill/stroke (#147), currentColor (#145), deletion input events (#142)
See the full changelog on GitHub.
release
apricityui-neoforge-26.1 1.2.8
1.2.819 окт. 2026 г.20Minecraft: 26.1neoforge
Что нового
### Added
- Added 14 standardized, switchable CSS themes: Ore, Claude Square/Round, CurseForge, Modrinth Light/Dark, Arwes and Arwes Transparent, Neobrutalist, Hand-Drawn Doodle, Retro Vintage, Vaporwave, Impressionist Oil, and Mecha. `apricityui/theme/t00-example.html` previews the same component markup across themes and loads theme stylesheets on demand.
- Added the self-contained `<theme-switcher>` floating control, with runtime stylesheet loading, theme scope management, and `aui-theme-change` notifications.
- Added `IntersectionObserver` support and documentation.
- Added CSS `outline`, its width/style/color/offset longhands, browser-style paint ordering, rounded geometry, visual bounds, and clipping behavior. Outlines do not affect layout; unsupported line patterns still fall back to solid and outline transitions are not yet supported.
- Added `perspective()` transform parsing and projective geometry for perspective backgrounds, with matching visual bounds and pointer-coordinate mapping.
### Changed
- Standardized theme tokens and component conventions, expanded the theme documentation, and replaced individual demo pages with the shared theme preview.
- Removed the old bundled McUI theme. Pages using its resource paths need to migrate; the new Ore theme is available at `apricityui/theme/t01-ore/t01-ore.css`. The existing legacy Ore resources are separate from the new standardized theme.
- Reduced packaged resource overhead and redundant bundled assets, and updated the embedded English documentation.
### Performance
- Reworked custom-font rendering around reusable glyph caches instead of whole-line bitmaps, reducing repeated rasterization and texture work.
- Reduced redundant layout invalidation: ancestor changes no longer repeatedly clear overlapping descendant trees, position caches validate their geometry dependencies, and refresh-time full-tree clearing handles each node locally.
- Reused compiled selector token patterns, removed exception-based handling of unsupported CSS properties, and avoided repeated font-name-table reads when looking up derived fonts.
- Skipped the redundant final style pass for documents with no applicable NeoForge 1.21.1 expansion work; unknown or changing expanders retain the complete style pass.
- Improved DevTools DOM-tree expansion and scrolling for large child lists, including cached subtree counts and reduced rebuilding.
- Improved repeated-gradient geometry generation and bounded repeat work while retaining color-stop coverage. Added physical-pixel coverage for thin perspective grid bands.
### Fixed
- Corrected browser-parity issues across theme layouts: flex wrapping and anonymous text, positioned flex sizing, absolute static positions and shrink-to-fit text, max-width inline wrapping, input stretching, text transforms, border rendering, rounded zero-blur shadows, and variable-backed background shorthands.
- Fixed repeating-gradient image sizing and phase, clipped gradient backgrounds, shadow falloff and knockout, SVG image handling, and the Vaporwave perspective floor grid.
- Fixed HTML/tag extraction that could truncate documents, and improved runtime stylesheet refresh and link lifecycle handling.
- Fixed stale or incorrectly ordered incremental hit-test geometry, root inline-transform reentrancy, and redundant multi-document layer ordering.
- Fixed item tooltips hidden behind UI documents, native items incorrectly showing through overlays, and item lighting changing with GUI scale.
- Fixed native Minecraft-font rendering at custom UI batch boundaries.
- Fixed unbound/unknown key codes opening tools and Alt handling consuming unrelated native clicks; corrected Forge 1.18.2 mouse interception to use the cancellable raw-input event.
- Fixed 26.1 client/render integration and filter/backdrop-filter state, viewport scaling, and pipeline handling.
- Fixed Windows WebView native-library compatibility with older MSVC runtimes already loaded by JBR 21.0.8, and added native smoke-test tooling.
- Removed the custom JavaScript `console` that conflicted with KubeJS.
release
apricityui-neoforge-1.21.1 1.2.8
1.2.819 окт. 2026 г.178Minecraft: 1.21.1neoforge
Что нового
### Added
- Added 14 standardized, switchable CSS themes: Ore, Claude Square/Round, CurseForge, Modrinth Light/Dark, Arwes and Arwes Transparent, Neobrutalist, Hand-Drawn Doodle, Retro Vintage, Vaporwave, Impressionist Oil, and Mecha. `apricityui/theme/t00-example.html` previews the same component markup across themes and loads theme stylesheets on demand.
- Added the self-contained `<theme-switcher>` floating control, with runtime stylesheet loading, theme scope management, and `aui-theme-change` notifications.
- Added `IntersectionObserver` support and documentation.
- Added CSS `outline`, its width/style/color/offset longhands, browser-style paint ordering, rounded geometry, visual bounds, and clipping behavior. Outlines do not affect layout; unsupported line patterns still fall back to solid and outline transitions are not yet supported.
- Added `perspective()` transform parsing and projective geometry for perspective backgrounds, with matching visual bounds and pointer-coordinate mapping.
### Changed
- Standardized theme tokens and component conventions, expanded the theme documentation, and replaced individual demo pages with the shared theme preview.
- Removed the old bundled McUI theme. Pages using its resource paths need to migrate; the new Ore theme is available at `apricityui/theme/t01-ore/t01-ore.css`. The existing legacy Ore resources are separate from the new standardized theme.
- Reduced packaged resource overhead and redundant bundled assets, and updated the embedded English documentation.
### Performance
- Reworked custom-font rendering around reusable glyph caches instead of whole-line bitmaps, reducing repeated rasterization and texture work.
- Reduced redundant layout invalidation: ancestor changes no longer repeatedly clear overlapping descendant trees, position caches validate their geometry dependencies, and refresh-time full-tree clearing handles each node locally.
- Reused compiled selector token patterns, removed exception-based handling of unsupported CSS properties, and avoided repeated font-name-table reads when looking up derived fonts.
- Skipped the redundant final style pass for documents with no applicable NeoForge 1.21.1 expansion work; unknown or changing expanders retain the complete style pass.
- Improved DevTools DOM-tree expansion and scrolling for large child lists, including cached subtree counts and reduced rebuilding.
- Improved repeated-gradient geometry generation and bounded repeat work while retaining color-stop coverage. Added physical-pixel coverage for thin perspective grid bands.
### Fixed
- Corrected browser-parity issues across theme layouts: flex wrapping and anonymous text, positioned flex sizing, absolute static positions and shrink-to-fit text, max-width inline wrapping, input stretching, text transforms, border rendering, rounded zero-blur shadows, and variable-backed background shorthands.
- Fixed repeating-gradient image sizing and phase, clipped gradient backgrounds, shadow falloff and knockout, SVG image handling, and the Vaporwave perspective floor grid.
- Fixed HTML/tag extraction that could truncate documents, and improved runtime stylesheet refresh and link lifecycle handling.
- Fixed stale or incorrectly ordered incremental hit-test geometry, root inline-transform reentrancy, and redundant multi-document layer ordering.
- Fixed item tooltips hidden behind UI documents, native items incorrectly showing through overlays, and item lighting changing with GUI scale.
- Fixed native Minecraft-font rendering at custom UI batch boundaries.
- Fixed unbound/unknown key codes opening tools and Alt handling consuming unrelated native clicks; corrected Forge 1.18.2 mouse interception to use the cancellable raw-input event.
- Fixed 26.1 client/render integration and filter/backdrop-filter state, viewport scaling, and pipeline handling.
- Fixed Windows WebView native-library compatibility with older MSVC runtimes already loaded by JBR 21.0.8, and added native smoke-test tooling.
- Removed the custom JavaScript `console` that conflicted with KubeJS.
release
apricityui-fabric-26.1 1.2.8
1.2.819 окт. 2026 г.26Minecraft: 26.1fabric
Что нового
### Added
- Added 14 standardized, switchable CSS themes: Ore, Claude Square/Round, CurseForge, Modrinth Light/Dark, Arwes and Arwes Transparent, Neobrutalist, Hand-Drawn Doodle, Retro Vintage, Vaporwave, Impressionist Oil, and Mecha. `apricityui/theme/t00-example.html` previews the same component markup across themes and loads theme stylesheets on demand.
- Added the self-contained `<theme-switcher>` floating control, with runtime stylesheet loading, theme scope management, and `aui-theme-change` notifications.
- Added `IntersectionObserver` support and documentation.
- Added CSS `outline`, its width/style/color/offset longhands, browser-style paint ordering, rounded geometry, visual bounds, and clipping behavior. Outlines do not affect layout; unsupported line patterns still fall back to solid and outline transitions are not yet supported.
- Added `perspective()` transform parsing and projective geometry for perspective backgrounds, with matching visual bounds and pointer-coordinate mapping.
### Changed
- Standardized theme tokens and component conventions, expanded the theme documentation, and replaced individual demo pages with the shared theme preview.
- Removed the old bundled McUI theme. Pages using its resource paths need to migrate; the new Ore theme is available at `apricityui/theme/t01-ore/t01-ore.css`. The existing legacy Ore resources are separate from the new standardized theme.
- Reduced packaged resource overhead and redundant bundled assets, and updated the embedded English documentation.
### Performance
- Reworked custom-font rendering around reusable glyph caches instead of whole-line bitmaps, reducing repeated rasterization and texture work.
- Reduced redundant layout invalidation: ancestor changes no longer repeatedly clear overlapping descendant trees, position caches validate their geometry dependencies, and refresh-time full-tree clearing handles each node locally.
- Reused compiled selector token patterns, removed exception-based handling of unsupported CSS properties, and avoided repeated font-name-table reads when looking up derived fonts.
- Skipped the redundant final style pass for documents with no applicable NeoForge 1.21.1 expansion work; unknown or changing expanders retain the complete style pass.
- Improved DevTools DOM-tree expansion and scrolling for large child lists, including cached subtree counts and reduced rebuilding.
- Improved repeated-gradient geometry generation and bounded repeat work while retaining color-stop coverage. Added physical-pixel coverage for thin perspective grid bands.
### Fixed
- Corrected browser-parity issues across theme layouts: flex wrapping and anonymous text, positioned flex sizing, absolute static positions and shrink-to-fit text, max-width inline wrapping, input stretching, text transforms, border rendering, rounded zero-blur shadows, and variable-backed background shorthands.
- Fixed repeating-gradient image sizing and phase, clipped gradient backgrounds, shadow falloff and knockout, SVG image handling, and the Vaporwave perspective floor grid.
- Fixed HTML/tag extraction that could truncate documents, and improved runtime stylesheet refresh and link lifecycle handling.
- Fixed stale or incorrectly ordered incremental hit-test geometry, root inline-transform reentrancy, and redundant multi-document layer ordering.
- Fixed item tooltips hidden behind UI documents, native items incorrectly showing through overlays, and item lighting changing with GUI scale.
- Fixed native Minecraft-font rendering at custom UI batch boundaries.
- Fixed unbound/unknown key codes opening tools and Alt handling consuming unrelated native clicks; corrected Forge 1.18.2 mouse interception to use the cancellable raw-input event.
- Fixed 26.1 client/render integration and filter/backdrop-filter state, viewport scaling, and pipeline handling.
- Fixed Windows WebView native-library compatibility with older MSVC runtimes already loaded by JBR 21.0.8, and added native smoke-test tooling.
- Removed the custom JavaScript `console` that conflicted with KubeJS.
release
apricityui-fabric-1.21.1 1.2.8
1.2.819 окт. 2026 г.29Minecraft: 1.21.1fabric
Что нового
### Added
- Added 14 standardized, switchable CSS themes: Ore, Claude Square/Round, CurseForge, Modrinth Light/Dark, Arwes and Arwes Transparent, Neobrutalist, Hand-Drawn Doodle, Retro Vintage, Vaporwave, Impressionist Oil, and Mecha. `apricityui/theme/t00-example.html` previews the same component markup across themes and loads theme stylesheets on demand.
- Added the self-contained `<theme-switcher>` floating control, with runtime stylesheet loading, theme scope management, and `aui-theme-change` notifications.
- Added `IntersectionObserver` support and documentation.
- Added CSS `outline`, its width/style/color/offset longhands, browser-style paint ordering, rounded geometry, visual bounds, and clipping behavior. Outlines do not affect layout; unsupported line patterns still fall back to solid and outline transitions are not yet supported.
- Added `perspective()` transform parsing and projective geometry for perspective backgrounds, with matching visual bounds and pointer-coordinate mapping.
### Changed
- Standardized theme tokens and component conventions, expanded the theme documentation, and replaced individual demo pages with the shared theme preview.
- Removed the old bundled McUI theme. Pages using its resource paths need to migrate; the new Ore theme is available at `apricityui/theme/t01-ore/t01-ore.css`. The existing legacy Ore resources are separate from the new standardized theme.
- Reduced packaged resource overhead and redundant bundled assets, and updated the embedded English documentation.
### Performance
- Reworked custom-font rendering around reusable glyph caches instead of whole-line bitmaps, reducing repeated rasterization and texture work.
- Reduced redundant layout invalidation: ancestor changes no longer repeatedly clear overlapping descendant trees, position caches validate their geometry dependencies, and refresh-time full-tree clearing handles each node locally.
- Reused compiled selector token patterns, removed exception-based handling of unsupported CSS properties, and avoided repeated font-name-table reads when looking up derived fonts.
- Skipped the redundant final style pass for documents with no applicable NeoForge 1.21.1 expansion work; unknown or changing expanders retain the complete style pass.
- Improved DevTools DOM-tree expansion and scrolling for large child lists, including cached subtree counts and reduced rebuilding.
- Improved repeated-gradient geometry generation and bounded repeat work while retaining color-stop coverage. Added physical-pixel coverage for thin perspective grid bands.
### Fixed
- Corrected browser-parity issues across theme layouts: flex wrapping and anonymous text, positioned flex sizing, absolute static positions and shrink-to-fit text, max-width inline wrapping, input stretching, text transforms, border rendering, rounded zero-blur shadows, and variable-backed background shorthands.
- Fixed repeating-gradient image sizing and phase, clipped gradient backgrounds, shadow falloff and knockout, SVG image handling, and the Vaporwave perspective floor grid.
- Fixed HTML/tag extraction that could truncate documents, and improved runtime stylesheet refresh and link lifecycle handling.
- Fixed stale or incorrectly ordered incremental hit-test geometry, root inline-transform reentrancy, and redundant multi-document layer ordering.
- Fixed item tooltips hidden behind UI documents, native items incorrectly showing through overlays, and item lighting changing with GUI scale.
- Fixed native Minecraft-font rendering at custom UI batch boundaries.
- Fixed unbound/unknown key codes opening tools and Alt handling consuming unrelated native clicks; corrected Forge 1.18.2 mouse interception to use the cancellable raw-input event.
- Fixed 26.1 client/render integration and filter/backdrop-filter state, viewport scaling, and pipeline handling.
- Fixed Windows WebView native-library compatibility with older MSVC runtimes already loaded by JBR 21.0.8, and added native smoke-test tooling.
- Removed the custom JavaScript `console` that conflicted with KubeJS.
release
apricityui-fabric-1.20.1 1.2.8
1.2.819 окт. 2026 г.39Minecraft: 1.20.1fabric
Что нового
### Added
- Added 14 standardized, switchable CSS themes: Ore, Claude Square/Round, CurseForge, Modrinth Light/Dark, Arwes and Arwes Transparent, Neobrutalist, Hand-Drawn Doodle, Retro Vintage, Vaporwave, Impressionist Oil, and Mecha. `apricityui/theme/t00-example.html` previews the same component markup across themes and loads theme stylesheets on demand.
- Added the self-contained `<theme-switcher>` floating control, with runtime stylesheet loading, theme scope management, and `aui-theme-change` notifications.
- Added `IntersectionObserver` support and documentation.
- Added CSS `outline`, its width/style/color/offset longhands, browser-style paint ordering, rounded geometry, visual bounds, and clipping behavior. Outlines do not affect layout; unsupported line patterns still fall back to solid and outline transitions are not yet supported.
- Added `perspective()` transform parsing and projective geometry for perspective backgrounds, with matching visual bounds and pointer-coordinate mapping.
### Changed
- Standardized theme tokens and component conventions, expanded the theme documentation, and replaced individual demo pages with the shared theme preview.
- Removed the old bundled McUI theme. Pages using its resource paths need to migrate; the new Ore theme is available at `apricityui/theme/t01-ore/t01-ore.css`. The existing legacy Ore resources are separate from the new standardized theme.
- Reduced packaged resource overhead and redundant bundled assets, and updated the embedded English documentation.
### Performance
- Reworked custom-font rendering around reusable glyph caches instead of whole-line bitmaps, reducing repeated rasterization and texture work.
- Reduced redundant layout invalidation: ancestor changes no longer repeatedly clear overlapping descendant trees, position caches validate their geometry dependencies, and refresh-time full-tree clearing handles each node locally.
- Reused compiled selector token patterns, removed exception-based handling of unsupported CSS properties, and avoided repeated font-name-table reads when looking up derived fonts.
- Skipped the redundant final style pass for documents with no applicable NeoForge 1.21.1 expansion work; unknown or changing expanders retain the complete style pass.
- Improved DevTools DOM-tree expansion and scrolling for large child lists, including cached subtree counts and reduced rebuilding.
- Improved repeated-gradient geometry generation and bounded repeat work while retaining color-stop coverage. Added physical-pixel coverage for thin perspective grid bands.
### Fixed
- Corrected browser-parity issues across theme layouts: flex wrapping and anonymous text, positioned flex sizing, absolute static positions and shrink-to-fit text, max-width inline wrapping, input stretching, text transforms, border rendering, rounded zero-blur shadows, and variable-backed background shorthands.
- Fixed repeating-gradient image sizing and phase, clipped gradient backgrounds, shadow falloff and knockout, SVG image handling, and the Vaporwave perspective floor grid.
- Fixed HTML/tag extraction that could truncate documents, and improved runtime stylesheet refresh and link lifecycle handling.
- Fixed stale or incorrectly ordered incremental hit-test geometry, root inline-transform reentrancy, and redundant multi-document layer ordering.
- Fixed item tooltips hidden behind UI documents, native items incorrectly showing through overlays, and item lighting changing with GUI scale.
- Fixed native Minecraft-font rendering at custom UI batch boundaries.
- Fixed unbound/unknown key codes opening tools and Alt handling consuming unrelated native clicks; corrected Forge 1.18.2 mouse interception to use the cancellable raw-input event.
- Fixed 26.1 client/render integration and filter/backdrop-filter state, viewport scaling, and pipeline handling.
- Fixed Windows WebView native-library compatibility with older MSVC runtimes already loaded by JBR 21.0.8, and added native smoke-test tooling.
- Removed the custom JavaScript `console` that conflicted with KubeJS.
release
apricityui-forge-1.20.1 1.2.8
1.2.819 окт. 2026 г.923Minecraft: 1.20.1forge
Что нового
### Added
- Added 14 standardized, switchable CSS themes: Ore, Claude Square/Round, CurseForge, Modrinth Light/Dark, Arwes and Arwes Transparent, Neobrutalist, Hand-Drawn Doodle, Retro Vintage, Vaporwave, Impressionist Oil, and Mecha. `apricityui/theme/t00-example.html` previews the same component markup across themes and loads theme stylesheets on demand.
- Added the self-contained `<theme-switcher>` floating control, with runtime stylesheet loading, theme scope management, and `aui-theme-change` notifications.
- Added `IntersectionObserver` support and documentation.
- Added CSS `outline`, its width/style/color/offset longhands, browser-style paint ordering, rounded geometry, visual bounds, and clipping behavior. Outlines do not affect layout; unsupported line patterns still fall back to solid and outline transitions are not yet supported.
- Added `perspective()` transform parsing and projective geometry for perspective backgrounds, with matching visual bounds and pointer-coordinate mapping.
### Changed
- Standardized theme tokens and component conventions, expanded the theme documentation, and replaced individual demo pages with the shared theme preview.
- Removed the old bundled McUI theme. Pages using its resource paths need to migrate; the new Ore theme is available at `apricityui/theme/t01-ore/t01-ore.css`. The existing legacy Ore resources are separate from the new standardized theme.
- Reduced packaged resource overhead and redundant bundled assets, and updated the embedded English documentation.
### Performance
- Reworked custom-font rendering around reusable glyph caches instead of whole-line bitmaps, reducing repeated rasterization and texture work.
- Reduced redundant layout invalidation: ancestor changes no longer repeatedly clear overlapping descendant trees, position caches validate their geometry dependencies, and refresh-time full-tree clearing handles each node locally.
- Reused compiled selector token patterns, removed exception-based handling of unsupported CSS properties, and avoided repeated font-name-table reads when looking up derived fonts.
- Skipped the redundant final style pass for documents with no applicable NeoForge 1.21.1 expansion work; unknown or changing expanders retain the complete style pass.
- Improved DevTools DOM-tree expansion and scrolling for large child lists, including cached subtree counts and reduced rebuilding.
- Improved repeated-gradient geometry generation and bounded repeat work while retaining color-stop coverage. Added physical-pixel coverage for thin perspective grid bands.
### Fixed
- Corrected browser-parity issues across theme layouts: flex wrapping and anonymous text, positioned flex sizing, absolute static positions and shrink-to-fit text, max-width inline wrapping, input stretching, text transforms, border rendering, rounded zero-blur shadows, and variable-backed background shorthands.
- Fixed repeating-gradient image sizing and phase, clipped gradient backgrounds, shadow falloff and knockout, SVG image handling, and the Vaporwave perspective floor grid.
- Fixed HTML/tag extraction that could truncate documents, and improved runtime stylesheet refresh and link lifecycle handling.
- Fixed stale or incorrectly ordered incremental hit-test geometry, root inline-transform reentrancy, and redundant multi-document layer ordering.
- Fixed item tooltips hidden behind UI documents, native items incorrectly showing through overlays, and item lighting changing with GUI scale.
- Fixed native Minecraft-font rendering at custom UI batch boundaries.
- Fixed unbound/unknown key codes opening tools and Alt handling consuming unrelated native clicks; corrected Forge 1.18.2 mouse interception to use the cancellable raw-input event.
- Fixed 26.1 client/render integration and filter/backdrop-filter state, viewport scaling, and pipeline handling.
- Fixed Windows WebView native-library compatibility with older MSVC runtimes already loaded by JBR 21.0.8, and added native smoke-test tooling.
- Removed the custom JavaScript `console` that conflicted with KubeJS.
release
apricityui-forge-1.19.2 1.2.8
1.2.819 окт. 2026 г.11Minecraft: 1.19.2forge
Что нового
### Added
- Added 14 standardized, switchable CSS themes: Ore, Claude Square/Round, CurseForge, Modrinth Light/Dark, Arwes and Arwes Transparent, Neobrutalist, Hand-Drawn Doodle, Retro Vintage, Vaporwave, Impressionist Oil, and Mecha. `apricityui/theme/t00-example.html` previews the same component markup across themes and loads theme stylesheets on demand.
- Added the self-contained `<theme-switcher>` floating control, with runtime stylesheet loading, theme scope management, and `aui-theme-change` notifications.
- Added `IntersectionObserver` support and documentation.
- Added CSS `outline`, its width/style/color/offset longhands, browser-style paint ordering, rounded geometry, visual bounds, and clipping behavior. Outlines do not affect layout; unsupported line patterns still fall back to solid and outline transitions are not yet supported.
- Added `perspective()` transform parsing and projective geometry for perspective backgrounds, with matching visual bounds and pointer-coordinate mapping.
### Changed
- Standardized theme tokens and component conventions, expanded the theme documentation, and replaced individual demo pages with the shared theme preview.
- Removed the old bundled McUI theme. Pages using its resource paths need to migrate; the new Ore theme is available at `apricityui/theme/t01-ore/t01-ore.css`. The existing legacy Ore resources are separate from the new standardized theme.
- Reduced packaged resource overhead and redundant bundled assets, and updated the embedded English documentation.
### Performance
- Reworked custom-font rendering around reusable glyph caches instead of whole-line bitmaps, reducing repeated rasterization and texture work.
- Reduced redundant layout invalidation: ancestor changes no longer repeatedly clear overlapping descendant trees, position caches validate their geometry dependencies, and refresh-time full-tree clearing handles each node locally.
- Reused compiled selector token patterns, removed exception-based handling of unsupported CSS properties, and avoided repeated font-name-table reads when looking up derived fonts.
- Skipped the redundant final style pass for documents with no applicable NeoForge 1.21.1 expansion work; unknown or changing expanders retain the complete style pass.
- Improved DevTools DOM-tree expansion and scrolling for large child lists, including cached subtree counts and reduced rebuilding.
- Improved repeated-gradient geometry generation and bounded repeat work while retaining color-stop coverage. Added physical-pixel coverage for thin perspective grid bands.
### Fixed
- Corrected browser-parity issues across theme layouts: flex wrapping and anonymous text, positioned flex sizing, absolute static positions and shrink-to-fit text, max-width inline wrapping, input stretching, text transforms, border rendering, rounded zero-blur shadows, and variable-backed background shorthands.
- Fixed repeating-gradient image sizing and phase, clipped gradient backgrounds, shadow falloff and knockout, SVG image handling, and the Vaporwave perspective floor grid.
- Fixed HTML/tag extraction that could truncate documents, and improved runtime stylesheet refresh and link lifecycle handling.
- Fixed stale or incorrectly ordered incremental hit-test geometry, root inline-transform reentrancy, and redundant multi-document layer ordering.
- Fixed item tooltips hidden behind UI documents, native items incorrectly showing through overlays, and item lighting changing with GUI scale.
- Fixed native Minecraft-font rendering at custom UI batch boundaries.
- Fixed unbound/unknown key codes opening tools and Alt handling consuming unrelated native clicks; corrected Forge 1.18.2 mouse interception to use the cancellable raw-input event.
- Fixed 26.1 client/render integration and filter/backdrop-filter state, viewport scaling, and pipeline handling.
- Fixed Windows WebView native-library compatibility with older MSVC runtimes already loaded by JBR 21.0.8, and added native smoke-test tooling.
- Removed the custom JavaScript `console` that conflicted with KubeJS.
release
apricityui-forge-1.18.2 1.2.8
1.2.819 окт. 2026 г.15Minecraft: 1.18.2forge
Что нового
### Added
- Added 14 standardized, switchable CSS themes: Ore, Claude Square/Round, CurseForge, Modrinth Light/Dark, Arwes and Arwes Transparent, Neobrutalist, Hand-Drawn Doodle, Retro Vintage, Vaporwave, Impressionist Oil, and Mecha. `apricityui/theme/t00-example.html` previews the same component markup across themes and loads theme stylesheets on demand.
- Added the self-contained `<theme-switcher>` floating control, with runtime stylesheet loading, theme scope management, and `aui-theme-change` notifications.
- Added `IntersectionObserver` support and documentation.
- Added CSS `outline`, its width/style/color/offset longhands, browser-style paint ordering, rounded geometry, visual bounds, and clipping behavior. Outlines do not affect layout; unsupported line patterns still fall back to solid and outline transitions are not yet supported.
- Added `perspective()` transform parsing and projective geometry for perspective backgrounds, with matching visual bounds and pointer-coordinate mapping.
### Changed
- Standardized theme tokens and component conventions, expanded the theme documentation, and replaced individual demo pages with the shared theme preview.
- Removed the old bundled McUI theme. Pages using its resource paths need to migrate; the new Ore theme is available at `apricityui/theme/t01-ore/t01-ore.css`. The existing legacy Ore resources are separate from the new standardized theme.
- Reduced packaged resource overhead and redundant bundled assets, and updated the embedded English documentation.
### Performance
- Reworked custom-font rendering around reusable glyph caches instead of whole-line bitmaps, reducing repeated rasterization and texture work.
- Reduced redundant layout invalidation: ancestor changes no longer repeatedly clear overlapping descendant trees, position caches validate their geometry dependencies, and refresh-time full-tree clearing handles each node locally.
- Reused compiled selector token patterns, removed exception-based handling of unsupported CSS properties, and avoided repeated font-name-table reads when looking up derived fonts.
- Skipped the redundant final style pass for documents with no applicable NeoForge 1.21.1 expansion work; unknown or changing expanders retain the complete style pass.
- Improved DevTools DOM-tree expansion and scrolling for large child lists, including cached subtree counts and reduced rebuilding.
- Improved repeated-gradient geometry generation and bounded repeat work while retaining color-stop coverage. Added physical-pixel coverage for thin perspective grid bands.
### Fixed
- Corrected browser-parity issues across theme layouts: flex wrapping and anonymous text, positioned flex sizing, absolute static positions and shrink-to-fit text, max-width inline wrapping, input stretching, text transforms, border rendering, rounded zero-blur shadows, and variable-backed background shorthands.
- Fixed repeating-gradient image sizing and phase, clipped gradient backgrounds, shadow falloff and knockout, SVG image handling, and the Vaporwave perspective floor grid.
- Fixed HTML/tag extraction that could truncate documents, and improved runtime stylesheet refresh and link lifecycle handling.
- Fixed stale or incorrectly ordered incremental hit-test geometry, root inline-transform reentrancy, and redundant multi-document layer ordering.
- Fixed item tooltips hidden behind UI documents, native items incorrectly showing through overlays, and item lighting changing with GUI scale.
- Fixed native Minecraft-font rendering at custom UI batch boundaries.
- Fixed unbound/unknown key codes opening tools and Alt handling consuming unrelated native clicks; corrected Forge 1.18.2 mouse interception to use the cancellable raw-input event.
- Fixed 26.1 client/render integration and filter/backdrop-filter state, viewport scaling, and pipeline handling.
- Fixed Windows WebView native-library compatibility with older MSVC runtimes already loaded by JBR 21.0.8, and added native smoke-test tooling.
- Removed the custom JavaScript `console` that conflicted with KubeJS.
release
apricityui-fabric-26.1 1.2.7
1.2.75 окт. 2026 г.39Minecraft: 26.1fabric
Что нового
See the project changelog for details.
release
apricityui-neoforge-26.1 1.2.7
1.2.75 окт. 2026 г.30Minecraft: 26.1neoforge
Что нового
## 1.2.7 - 2026-10-05
### Added
- Layout metrics are typed values now, not strings. `layout/CssLength` parses a CSS length once (leading-number scan, `calc()`/`min()`/`max()`/`clamp()`, unit conversion) and resolves it on demand, so the layout pass no longer re-parses `width`/`height`/`min-*`/`max-*`/`flex-basis` or the `box-sizing` keyword on every visit; `Style` gains lazy accessors (`widthLength()`, `isBorderBox()`, …) that compile at computed-style time and are invalidated on `clone()`/`copyFrom()` so animation buffers cannot read the previous frame's geometry. `Size`'s public API now delegates to `CssLength`, which keeps the two implementations from drifting apart.
- `overflow` and `visibility` normalize to the `Interaction.Overflow` / `Interaction.Visibility` enums, and `display`/`overflow` questions are answered by memoized `Style` accessors (`isFlexDisplay()`, `isGridDisplay()`, `isInFlow()`, `clipsOverflow()`, …) instead of `trim()`+`toLowerCase()` on every call. Only the memoized form changed: `Layout.isInFlow` and `Interaction.isDisplayed` keep their exact-match semantics, while `isFlexDisplay`/`isGridDisplay` stay case-insensitive, as before.
- The first full geometry commit of a document can be sliced across frames. A page whose initial commit would block one frame for hundreds of milliseconds now pays a per-frame budget instead (`initialCommitSliceEnabled`, `initialCommitSliceMs`, default 16 ms), and the document is not painted until its geometry is complete. `-Dapricityui.layout.sliceInitialCommit=false` restores the single-shot commit. Small documents and non-render callers (the tick path, hit testing) keep committing synchronously, because they rely on `commit()` returning with complete geometry.
- `ApricityUI.ensureDocument(path)` returns the existing document for a path or creates one, so callers no longer have to test `Document.get(path)` themselves.
### Changed
- `ApricityUI.createDocument(path)` now marks the document reload-persistent, which is what lets a document created from a screen survive a resource reload and open as an overlay. `Document.create(path)` is unchanged.
- Debug log volume is down substantially. The per-draw font warnings ("blank text draw", which fired once per line that had not been rasterized yet) are capped at 8 per process instead of 1200, and no longer embed the full raster cache key. `CanvasImageSupport`'s per-draw warnings are de-duplicated per resource, so a broken image logs once rather than every frame. Leftover commented-out log blocks, a dead `Image.loadTexture` overload, the unreachable `QwenHtmlOverlayDebug` class and one repeated failure log in each of `StyleAsyncHandler` and `NetworkAsyncHandler` are gone; a number of per-event `INFO` lines (`[AUI Screen]`, `[AUI Viewport]`, `NetworkUtil` chunking, Fabric network registration) moved to `DEBUG`.
### Fixed
- Buttons in the Ore and McUI themes no longer grow taller while pressed. `.button:active` carried hardcoded `padding-top: 9px; padding-bottom: 11px` — correct for the base button's `7px`/`13px`, but `.button-normal` (`8px`/`8px`) and `.button-small` (`5px`/`9px`) have no fixed height, so pressing them added 4 px and 6 px of height respectively and pushed the surrounding content down. Both variants now keep their own vertical padding sum on `:active`, so only the 2 px "pressed" shift remains.
- A grid could lay some of its items out against a different track list than the rest, leaving a card outside its container. Two independent causes, both fixed. First, a grid container with `width: auto` derived its available track space from an ancestor width whenever its own used size was not cached yet — and it never was on the first measurement, because `Size.of` short-circuits on that very cache. Second, `RenderElement.dependency()`, the stamp that decides whether a committed rect is still valid, mixed in only the `layoutVersion` counters along the route and not the ancestors' used sizes, while the layout caches' own stamp (`usedSizeDependency()`) did include them. When an ancestor's width changed without anyone bumping a counter, the layout was recomputed but the committed rect was not. `dependency()` now mixes in ancestor sizes like `usedSizeDependency()` does.
- A stale `position` cache could survive its container's resize permanently. `RenderElement.size`'s cache invalidates itself when its dependency goes stale, but it did not tell its children: `position` has no dependency stamp of its own and is only cleared explicitly, and a grid's track change does not travel the style-invalidation path. `size.get()` now drops its children's `position` and committed geometry when it finds itself stale. This is what made a mispositioned card stick until something forced a full relayout.
- Switching `:checked` recomputed the whole document. `Element.setChecked` requested a style recalc on the document element, so toggling any checkbox or radio re-ran style resolution over every element on the page. The affected set for a `:checked` change is the element's own subtree plus its following siblings' subtrees — the combinators (`>`, `+`, `~`, descendant) only look forwards and the selector engine has no `:has` — which is exactly `subtree(parent)`. The recalc is now scoped to that, and `enforceRadioGroupChecked` requests the same scope for each radio it unchecks, since those may live anywhere in the document and previously relied on the whole-document pass to refresh their own following siblings.
- A grid's `gap` was rounded to whole pixels. `Grid.Gaps` held `int`s and parsed the values with `Size.parse`, which rounds, so a non-integer gap (`1.84px` from a scrollbar inset, `3.5px` from a `var()` or a shorthand expansion) was silently changed and the tracks no longer added up to the container's width. Gaps are `double`s parsed through `CssLength` now.
- A scroll container's scrollbar could appear one frame late. `ScrollModel.commitLayoutMetrics()` both measures the scroll area and flips the scrollbar's visibility — a layout input, since the gutter comes out of the content box — but it only marked the layout dirty; whether that became an invalidation depended on where it was called from. The geometry-commit path calls it *after* committing geometry, so the invalidation landed on the next 20 Hz tick and the frame that had just been committed stayed laid out at the old width. The commit path now invalidates immediately (`commitScrollMetricsAfterLayoutCommit`).
release
apricityui-neoforge-1.21.1 1.2.7
1.2.75 окт. 2026 г.246Minecraft: 1.21.1neoforge
Что нового
## 1.2.7 - 2026-10-05
### Added
- Layout metrics are typed values now, not strings. `layout/CssLength` parses a CSS length once (leading-number scan, `calc()`/`min()`/`max()`/`clamp()`, unit conversion) and resolves it on demand, so the layout pass no longer re-parses `width`/`height`/`min-*`/`max-*`/`flex-basis` or the `box-sizing` keyword on every visit; `Style` gains lazy accessors (`widthLength()`, `isBorderBox()`, …) that compile at computed-style time and are invalidated on `clone()`/`copyFrom()` so animation buffers cannot read the previous frame's geometry. `Size`'s public API now delegates to `CssLength`, which keeps the two implementations from drifting apart.
- `overflow` and `visibility` normalize to the `Interaction.Overflow` / `Interaction.Visibility` enums, and `display`/`overflow` questions are answered by memoized `Style` accessors (`isFlexDisplay()`, `isGridDisplay()`, `isInFlow()`, `clipsOverflow()`, …) instead of `trim()`+`toLowerCase()` on every call. Only the memoized form changed: `Layout.isInFlow` and `Interaction.isDisplayed` keep their exact-match semantics, while `isFlexDisplay`/`isGridDisplay` stay case-insensitive, as before.
- The first full geometry commit of a document can be sliced across frames. A page whose initial commit would block one frame for hundreds of milliseconds now pays a per-frame budget instead (`initialCommitSliceEnabled`, `initialCommitSliceMs`, default 16 ms), and the document is not painted until its geometry is complete. `-Dapricityui.layout.sliceInitialCommit=false` restores the single-shot commit. Small documents and non-render callers (the tick path, hit testing) keep committing synchronously, because they rely on `commit()` returning with complete geometry.
- `ApricityUI.ensureDocument(path)` returns the existing document for a path or creates one, so callers no longer have to test `Document.get(path)` themselves.
### Changed
- `ApricityUI.createDocument(path)` now marks the document reload-persistent, which is what lets a document created from a screen survive a resource reload and open as an overlay. `Document.create(path)` is unchanged.
- Debug log volume is down substantially. The per-draw font warnings ("blank text draw", which fired once per line that had not been rasterized yet) are capped at 8 per process instead of 1200, and no longer embed the full raster cache key. `CanvasImageSupport`'s per-draw warnings are de-duplicated per resource, so a broken image logs once rather than every frame. Leftover commented-out log blocks, a dead `Image.loadTexture` overload, the unreachable `QwenHtmlOverlayDebug` class and one repeated failure log in each of `StyleAsyncHandler` and `NetworkAsyncHandler` are gone; a number of per-event `INFO` lines (`[AUI Screen]`, `[AUI Viewport]`, `NetworkUtil` chunking, Fabric network registration) moved to `DEBUG`.
### Fixed
- Buttons in the Ore and McUI themes no longer grow taller while pressed. `.button:active` carried hardcoded `padding-top: 9px; padding-bottom: 11px` — correct for the base button's `7px`/`13px`, but `.button-normal` (`8px`/`8px`) and `.button-small` (`5px`/`9px`) have no fixed height, so pressing them added 4 px and 6 px of height respectively and pushed the surrounding content down. Both variants now keep their own vertical padding sum on `:active`, so only the 2 px "pressed" shift remains.
- A grid could lay some of its items out against a different track list than the rest, leaving a card outside its container. Two independent causes, both fixed. First, a grid container with `width: auto` derived its available track space from an ancestor width whenever its own used size was not cached yet — and it never was on the first measurement, because `Size.of` short-circuits on that very cache. Second, `RenderElement.dependency()`, the stamp that decides whether a committed rect is still valid, mixed in only the `layoutVersion` counters along the route and not the ancestors' used sizes, while the layout caches' own stamp (`usedSizeDependency()`) did include them. When an ancestor's width changed without anyone bumping a counter, the layout was recomputed but the committed rect was not. `dependency()` now mixes in ancestor sizes like `usedSizeDependency()` does.
- A stale `position` cache could survive its container's resize permanently. `RenderElement.size`'s cache invalidates itself when its dependency goes stale, but it did not tell its children: `position` has no dependency stamp of its own and is only cleared explicitly, and a grid's track change does not travel the style-invalidation path. `size.get()` now drops its children's `position` and committed geometry when it finds itself stale. This is what made a mispositioned card stick until something forced a full relayout.
- Switching `:checked` recomputed the whole document. `Element.setChecked` requested a style recalc on the document element, so toggling any checkbox or radio re-ran style resolution over every element on the page. The affected set for a `:checked` change is the element's own subtree plus its following siblings' subtrees — the combinators (`>`, `+`, `~`, descendant) only look forwards and the selector engine has no `:has` — which is exactly `subtree(parent)`. The recalc is now scoped to that, and `enforceRadioGroupChecked` requests the same scope for each radio it unchecks, since those may live anywhere in the document and previously relied on the whole-document pass to refresh their own following siblings.
- A grid's `gap` was rounded to whole pixels. `Grid.Gaps` held `int`s and parsed the values with `Size.parse`, which rounds, so a non-integer gap (`1.84px` from a scrollbar inset, `3.5px` from a `var()` or a shorthand expansion) was silently changed and the tracks no longer added up to the container's width. Gaps are `double`s parsed through `CssLength` now.
- A scroll container's scrollbar could appear one frame late. `ScrollModel.commitLayoutMetrics()` both measures the scroll area and flips the scrollbar's visibility — a layout input, since the gutter comes out of the content box — but it only marked the layout dirty; whether that became an invalidation depended on where it was called from. The geometry-commit path calls it *after* committing geometry, so the invalidation landed on the next 20 Hz tick and the frame that had just been committed stayed laid out at the old width. The commit path now invalidates immediately (`commitScrollMetricsAfterLayoutCommit`).
release
apricityui-fabric-1.21.1 1.2.7
1.2.75 окт. 2026 г.30Minecraft: 1.21.1fabric
Что нового
## 1.2.7 - 2026-10-05
### Added
- Layout metrics are typed values now, not strings. `layout/CssLength` parses a CSS length once (leading-number scan, `calc()`/`min()`/`max()`/`clamp()`, unit conversion) and resolves it on demand, so the layout pass no longer re-parses `width`/`height`/`min-*`/`max-*`/`flex-basis` or the `box-sizing` keyword on every visit; `Style` gains lazy accessors (`widthLength()`, `isBorderBox()`, …) that compile at computed-style time and are invalidated on `clone()`/`copyFrom()` so animation buffers cannot read the previous frame's geometry. `Size`'s public API now delegates to `CssLength`, which keeps the two implementations from drifting apart.
- `overflow` and `visibility` normalize to the `Interaction.Overflow` / `Interaction.Visibility` enums, and `display`/`overflow` questions are answered by memoized `Style` accessors (`isFlexDisplay()`, `isGridDisplay()`, `isInFlow()`, `clipsOverflow()`, …) instead of `trim()`+`toLowerCase()` on every call. Only the memoized form changed: `Layout.isInFlow` and `Interaction.isDisplayed` keep their exact-match semantics, while `isFlexDisplay`/`isGridDisplay` stay case-insensitive, as before.
- The first full geometry commit of a document can be sliced across frames. A page whose initial commit would block one frame for hundreds of milliseconds now pays a per-frame budget instead (`initialCommitSliceEnabled`, `initialCommitSliceMs`, default 16 ms), and the document is not painted until its geometry is complete. `-Dapricityui.layout.sliceInitialCommit=false` restores the single-shot commit. Small documents and non-render callers (the tick path, hit testing) keep committing synchronously, because they rely on `commit()` returning with complete geometry.
- `ApricityUI.ensureDocument(path)` returns the existing document for a path or creates one, so callers no longer have to test `Document.get(path)` themselves.
### Changed
- `ApricityUI.createDocument(path)` now marks the document reload-persistent, which is what lets a document created from a screen survive a resource reload and open as an overlay. `Document.create(path)` is unchanged.
- Debug log volume is down substantially. The per-draw font warnings ("blank text draw", which fired once per line that had not been rasterized yet) are capped at 8 per process instead of 1200, and no longer embed the full raster cache key. `CanvasImageSupport`'s per-draw warnings are de-duplicated per resource, so a broken image logs once rather than every frame. Leftover commented-out log blocks, a dead `Image.loadTexture` overload, the unreachable `QwenHtmlOverlayDebug` class and one repeated failure log in each of `StyleAsyncHandler` and `NetworkAsyncHandler` are gone; a number of per-event `INFO` lines (`[AUI Screen]`, `[AUI Viewport]`, `NetworkUtil` chunking, Fabric network registration) moved to `DEBUG`.
### Fixed
- Buttons in the Ore and McUI themes no longer grow taller while pressed. `.button:active` carried hardcoded `padding-top: 9px; padding-bottom: 11px` — correct for the base button's `7px`/`13px`, but `.button-normal` (`8px`/`8px`) and `.button-small` (`5px`/`9px`) have no fixed height, so pressing them added 4 px and 6 px of height respectively and pushed the surrounding content down. Both variants now keep their own vertical padding sum on `:active`, so only the 2 px "pressed" shift remains.
- A grid could lay some of its items out against a different track list than the rest, leaving a card outside its container. Two independent causes, both fixed. First, a grid container with `width: auto` derived its available track space from an ancestor width whenever its own used size was not cached yet — and it never was on the first measurement, because `Size.of` short-circuits on that very cache. Second, `RenderElement.dependency()`, the stamp that decides whether a committed rect is still valid, mixed in only the `layoutVersion` counters along the route and not the ancestors' used sizes, while the layout caches' own stamp (`usedSizeDependency()`) did include them. When an ancestor's width changed without anyone bumping a counter, the layout was recomputed but the committed rect was not. `dependency()` now mixes in ancestor sizes like `usedSizeDependency()` does.
- A stale `position` cache could survive its container's resize permanently. `RenderElement.size`'s cache invalidates itself when its dependency goes stale, but it did not tell its children: `position` has no dependency stamp of its own and is only cleared explicitly, and a grid's track change does not travel the style-invalidation path. `size.get()` now drops its children's `position` and committed geometry when it finds itself stale. This is what made a mispositioned card stick until something forced a full relayout.
- Switching `:checked` recomputed the whole document. `Element.setChecked` requested a style recalc on the document element, so toggling any checkbox or radio re-ran style resolution over every element on the page. The affected set for a `:checked` change is the element's own subtree plus its following siblings' subtrees — the combinators (`>`, `+`, `~`, descendant) only look forwards and the selector engine has no `:has` — which is exactly `subtree(parent)`. The recalc is now scoped to that, and `enforceRadioGroupChecked` requests the same scope for each radio it unchecks, since those may live anywhere in the document and previously relied on the whole-document pass to refresh their own following siblings.
- A grid's `gap` was rounded to whole pixels. `Grid.Gaps` held `int`s and parsed the values with `Size.parse`, which rounds, so a non-integer gap (`1.84px` from a scrollbar inset, `3.5px` from a `var()` or a shorthand expansion) was silently changed and the tracks no longer added up to the container's width. Gaps are `double`s parsed through `CssLength` now.
- A scroll container's scrollbar could appear one frame late. `ScrollModel.commitLayoutMetrics()` both measures the scroll area and flips the scrollbar's visibility — a layout input, since the gutter comes out of the content box — but it only marked the layout dirty; whether that became an invalidation depended on where it was called from. The geometry-commit path calls it *after* committing geometry, so the invalidation landed on the next 20 Hz tick and the frame that had just been committed stayed laid out at the old width. The commit path now invalidates immediately (`commitScrollMetricsAfterLayoutCommit`).
release
apricityui-fabric-1.20.1 1.2.7
1.2.75 окт. 2026 г.51Minecraft: 1.20.1fabric
Что нового
## 1.2.7 - 2026-10-05
### Added
- Layout metrics are typed values now, not strings. `layout/CssLength` parses a CSS length once (leading-number scan, `calc()`/`min()`/`max()`/`clamp()`, unit conversion) and resolves it on demand, so the layout pass no longer re-parses `width`/`height`/`min-*`/`max-*`/`flex-basis` or the `box-sizing` keyword on every visit; `Style` gains lazy accessors (`widthLength()`, `isBorderBox()`, …) that compile at computed-style time and are invalidated on `clone()`/`copyFrom()` so animation buffers cannot read the previous frame's geometry. `Size`'s public API now delegates to `CssLength`, which keeps the two implementations from drifting apart.
- `overflow` and `visibility` normalize to the `Interaction.Overflow` / `Interaction.Visibility` enums, and `display`/`overflow` questions are answered by memoized `Style` accessors (`isFlexDisplay()`, `isGridDisplay()`, `isInFlow()`, `clipsOverflow()`, …) instead of `trim()`+`toLowerCase()` on every call. Only the memoized form changed: `Layout.isInFlow` and `Interaction.isDisplayed` keep their exact-match semantics, while `isFlexDisplay`/`isGridDisplay` stay case-insensitive, as before.
- The first full geometry commit of a document can be sliced across frames. A page whose initial commit would block one frame for hundreds of milliseconds now pays a per-frame budget instead (`initialCommitSliceEnabled`, `initialCommitSliceMs`, default 16 ms), and the document is not painted until its geometry is complete. `-Dapricityui.layout.sliceInitialCommit=false` restores the single-shot commit. Small documents and non-render callers (the tick path, hit testing) keep committing synchronously, because they rely on `commit()` returning with complete geometry.
- `ApricityUI.ensureDocument(path)` returns the existing document for a path or creates one, so callers no longer have to test `Document.get(path)` themselves.
### Changed
- `ApricityUI.createDocument(path)` now marks the document reload-persistent, which is what lets a document created from a screen survive a resource reload and open as an overlay. `Document.create(path)` is unchanged.
- Debug log volume is down substantially. The per-draw font warnings ("blank text draw", which fired once per line that had not been rasterized yet) are capped at 8 per process instead of 1200, and no longer embed the full raster cache key. `CanvasImageSupport`'s per-draw warnings are de-duplicated per resource, so a broken image logs once rather than every frame. Leftover commented-out log blocks, a dead `Image.loadTexture` overload, the unreachable `QwenHtmlOverlayDebug` class and one repeated failure log in each of `StyleAsyncHandler` and `NetworkAsyncHandler` are gone; a number of per-event `INFO` lines (`[AUI Screen]`, `[AUI Viewport]`, `NetworkUtil` chunking, Fabric network registration) moved to `DEBUG`.
### Fixed
- Buttons in the Ore and McUI themes no longer grow taller while pressed. `.button:active` carried hardcoded `padding-top: 9px; padding-bottom: 11px` — correct for the base button's `7px`/`13px`, but `.button-normal` (`8px`/`8px`) and `.button-small` (`5px`/`9px`) have no fixed height, so pressing them added 4 px and 6 px of height respectively and pushed the surrounding content down. Both variants now keep their own vertical padding sum on `:active`, so only the 2 px "pressed" shift remains.
- A grid could lay some of its items out against a different track list than the rest, leaving a card outside its container. Two independent causes, both fixed. First, a grid container with `width: auto` derived its available track space from an ancestor width whenever its own used size was not cached yet — and it never was on the first measurement, because `Size.of` short-circuits on that very cache. Second, `RenderElement.dependency()`, the stamp that decides whether a committed rect is still valid, mixed in only the `layoutVersion` counters along the route and not the ancestors' used sizes, while the layout caches' own stamp (`usedSizeDependency()`) did include them. When an ancestor's width changed without anyone bumping a counter, the layout was recomputed but the committed rect was not. `dependency()` now mixes in ancestor sizes like `usedSizeDependency()` does.
- A stale `position` cache could survive its container's resize permanently. `RenderElement.size`'s cache invalidates itself when its dependency goes stale, but it did not tell its children: `position` has no dependency stamp of its own and is only cleared explicitly, and a grid's track change does not travel the style-invalidation path. `size.get()` now drops its children's `position` and committed geometry when it finds itself stale. This is what made a mispositioned card stick until something forced a full relayout.
- Switching `:checked` recomputed the whole document. `Element.setChecked` requested a style recalc on the document element, so toggling any checkbox or radio re-ran style resolution over every element on the page. The affected set for a `:checked` change is the element's own subtree plus its following siblings' subtrees — the combinators (`>`, `+`, `~`, descendant) only look forwards and the selector engine has no `:has` — which is exactly `subtree(parent)`. The recalc is now scoped to that, and `enforceRadioGroupChecked` requests the same scope for each radio it unchecks, since those may live anywhere in the document and previously relied on the whole-document pass to refresh their own following siblings.
- A grid's `gap` was rounded to whole pixels. `Grid.Gaps` held `int`s and parsed the values with `Size.parse`, which rounds, so a non-integer gap (`1.84px` from a scrollbar inset, `3.5px` from a `var()` or a shorthand expansion) was silently changed and the tracks no longer added up to the container's width. Gaps are `double`s parsed through `CssLength` now.
- A scroll container's scrollbar could appear one frame late. `ScrollModel.commitLayoutMetrics()` both measures the scroll area and flips the scrollbar's visibility — a layout input, since the gutter comes out of the content box — but it only marked the layout dirty; whether that became an invalidation depended on where it was called from. The geometry-commit path calls it *after* committing geometry, so the invalidation landed on the next 20 Hz tick and the frame that had just been committed stayed laid out at the old width. The commit path now invalidates immediately (`commitScrollMetricsAfterLayoutCommit`).
release
apricityui-forge-1.20.1 1.2.7
1.2.75 окт. 2026 г.1,6 тыс.Minecraft: 1.20.1forge
Что нового
## 1.2.7 - 2026-10-05
### Added
- Layout metrics are typed values now, not strings. `layout/CssLength` parses a CSS length once (leading-number scan, `calc()`/`min()`/`max()`/`clamp()`, unit conversion) and resolves it on demand, so the layout pass no longer re-parses `width`/`height`/`min-*`/`max-*`/`flex-basis` or the `box-sizing` keyword on every visit; `Style` gains lazy accessors (`widthLength()`, `isBorderBox()`, …) that compile at computed-style time and are invalidated on `clone()`/`copyFrom()` so animation buffers cannot read the previous frame's geometry. `Size`'s public API now delegates to `CssLength`, which keeps the two implementations from drifting apart.
- `overflow` and `visibility` normalize to the `Interaction.Overflow` / `Interaction.Visibility` enums, and `display`/`overflow` questions are answered by memoized `Style` accessors (`isFlexDisplay()`, `isGridDisplay()`, `isInFlow()`, `clipsOverflow()`, …) instead of `trim()`+`toLowerCase()` on every call. Only the memoized form changed: `Layout.isInFlow` and `Interaction.isDisplayed` keep their exact-match semantics, while `isFlexDisplay`/`isGridDisplay` stay case-insensitive, as before.
- The first full geometry commit of a document can be sliced across frames. A page whose initial commit would block one frame for hundreds of milliseconds now pays a per-frame budget instead (`initialCommitSliceEnabled`, `initialCommitSliceMs`, default 16 ms), and the document is not painted until its geometry is complete. `-Dapricityui.layout.sliceInitialCommit=false` restores the single-shot commit. Small documents and non-render callers (the tick path, hit testing) keep committing synchronously, because they rely on `commit()` returning with complete geometry.
- `ApricityUI.ensureDocument(path)` returns the existing document for a path or creates one, so callers no longer have to test `Document.get(path)` themselves.
### Changed
- `ApricityUI.createDocument(path)` now marks the document reload-persistent, which is what lets a document created from a screen survive a resource reload and open as an overlay. `Document.create(path)` is unchanged.
- Debug log volume is down substantially. The per-draw font warnings ("blank text draw", which fired once per line that had not been rasterized yet) are capped at 8 per process instead of 1200, and no longer embed the full raster cache key. `CanvasImageSupport`'s per-draw warnings are de-duplicated per resource, so a broken image logs once rather than every frame. Leftover commented-out log blocks, a dead `Image.loadTexture` overload, the unreachable `QwenHtmlOverlayDebug` class and one repeated failure log in each of `StyleAsyncHandler` and `NetworkAsyncHandler` are gone; a number of per-event `INFO` lines (`[AUI Screen]`, `[AUI Viewport]`, `NetworkUtil` chunking, Fabric network registration) moved to `DEBUG`.
### Fixed
- Buttons in the Ore and McUI themes no longer grow taller while pressed. `.button:active` carried hardcoded `padding-top: 9px; padding-bottom: 11px` — correct for the base button's `7px`/`13px`, but `.button-normal` (`8px`/`8px`) and `.button-small` (`5px`/`9px`) have no fixed height, so pressing them added 4 px and 6 px of height respectively and pushed the surrounding content down. Both variants now keep their own vertical padding sum on `:active`, so only the 2 px "pressed" shift remains.
- A grid could lay some of its items out against a different track list than the rest, leaving a card outside its container. Two independent causes, both fixed. First, a grid container with `width: auto` derived its available track space from an ancestor width whenever its own used size was not cached yet — and it never was on the first measurement, because `Size.of` short-circuits on that very cache. Second, `RenderElement.dependency()`, the stamp that decides whether a committed rect is still valid, mixed in only the `layoutVersion` counters along the route and not the ancestors' used sizes, while the layout caches' own stamp (`usedSizeDependency()`) did include them. When an ancestor's width changed without anyone bumping a counter, the layout was recomputed but the committed rect was not. `dependency()` now mixes in ancestor sizes like `usedSizeDependency()` does.
- A stale `position` cache could survive its container's resize permanently. `RenderElement.size`'s cache invalidates itself when its dependency goes stale, but it did not tell its children: `position` has no dependency stamp of its own and is only cleared explicitly, and a grid's track change does not travel the style-invalidation path. `size.get()` now drops its children's `position` and committed geometry when it finds itself stale. This is what made a mispositioned card stick until something forced a full relayout.
- Switching `:checked` recomputed the whole document. `Element.setChecked` requested a style recalc on the document element, so toggling any checkbox or radio re-ran style resolution over every element on the page. The affected set for a `:checked` change is the element's own subtree plus its following siblings' subtrees — the combinators (`>`, `+`, `~`, descendant) only look forwards and the selector engine has no `:has` — which is exactly `subtree(parent)`. The recalc is now scoped to that, and `enforceRadioGroupChecked` requests the same scope for each radio it unchecks, since those may live anywhere in the document and previously relied on the whole-document pass to refresh their own following siblings.
- A grid's `gap` was rounded to whole pixels. `Grid.Gaps` held `int`s and parsed the values with `Size.parse`, which rounds, so a non-integer gap (`1.84px` from a scrollbar inset, `3.5px` from a `var()` or a shorthand expansion) was silently changed and the tracks no longer added up to the container's width. Gaps are `double`s parsed through `CssLength` now.
- A scroll container's scrollbar could appear one frame late. `ScrollModel.commitLayoutMetrics()` both measures the scroll area and flips the scrollbar's visibility — a layout input, since the gutter comes out of the content box — but it only marked the layout dirty; whether that became an invalidation depended on where it was called from. The geometry-commit path calls it *after* committing geometry, so the invalidation landed on the next 20 Hz tick and the frame that had just been committed stayed laid out at the old width. The commit path now invalidates immediately (`commitScrollMetricsAfterLayoutCommit`).
release
apricityui-forge-1.19.2 1.2.7
1.2.75 окт. 2026 г.12Minecraft: 1.19.2forge
Что нового
## 1.2.7 - 2026-10-05
### Added
- Layout metrics are typed values now, not strings. `layout/CssLength` parses a CSS length once (leading-number scan, `calc()`/`min()`/`max()`/`clamp()`, unit conversion) and resolves it on demand, so the layout pass no longer re-parses `width`/`height`/`min-*`/`max-*`/`flex-basis` or the `box-sizing` keyword on every visit; `Style` gains lazy accessors (`widthLength()`, `isBorderBox()`, …) that compile at computed-style time and are invalidated on `clone()`/`copyFrom()` so animation buffers cannot read the previous frame's geometry. `Size`'s public API now delegates to `CssLength`, which keeps the two implementations from drifting apart.
- `overflow` and `visibility` normalize to the `Interaction.Overflow` / `Interaction.Visibility` enums, and `display`/`overflow` questions are answered by memoized `Style` accessors (`isFlexDisplay()`, `isGridDisplay()`, `isInFlow()`, `clipsOverflow()`, …) instead of `trim()`+`toLowerCase()` on every call. Only the memoized form changed: `Layout.isInFlow` and `Interaction.isDisplayed` keep their exact-match semantics, while `isFlexDisplay`/`isGridDisplay` stay case-insensitive, as before.
- The first full geometry commit of a document can be sliced across frames. A page whose initial commit would block one frame for hundreds of milliseconds now pays a per-frame budget instead (`initialCommitSliceEnabled`, `initialCommitSliceMs`, default 16 ms), and the document is not painted until its geometry is complete. `-Dapricityui.layout.sliceInitialCommit=false` restores the single-shot commit. Small documents and non-render callers (the tick path, hit testing) keep committing synchronously, because they rely on `commit()` returning with complete geometry.
- `ApricityUI.ensureDocument(path)` returns the existing document for a path or creates one, so callers no longer have to test `Document.get(path)` themselves.
### Changed
- `ApricityUI.createDocument(path)` now marks the document reload-persistent, which is what lets a document created from a screen survive a resource reload and open as an overlay. `Document.create(path)` is unchanged.
- Debug log volume is down substantially. The per-draw font warnings ("blank text draw", which fired once per line that had not been rasterized yet) are capped at 8 per process instead of 1200, and no longer embed the full raster cache key. `CanvasImageSupport`'s per-draw warnings are de-duplicated per resource, so a broken image logs once rather than every frame. Leftover commented-out log blocks, a dead `Image.loadTexture` overload, the unreachable `QwenHtmlOverlayDebug` class and one repeated failure log in each of `StyleAsyncHandler` and `NetworkAsyncHandler` are gone; a number of per-event `INFO` lines (`[AUI Screen]`, `[AUI Viewport]`, `NetworkUtil` chunking, Fabric network registration) moved to `DEBUG`.
### Fixed
- Buttons in the Ore and McUI themes no longer grow taller while pressed. `.button:active` carried hardcoded `padding-top: 9px; padding-bottom: 11px` — correct for the base button's `7px`/`13px`, but `.button-normal` (`8px`/`8px`) and `.button-small` (`5px`/`9px`) have no fixed height, so pressing them added 4 px and 6 px of height respectively and pushed the surrounding content down. Both variants now keep their own vertical padding sum on `:active`, so only the 2 px "pressed" shift remains.
- A grid could lay some of its items out against a different track list than the rest, leaving a card outside its container. Two independent causes, both fixed. First, a grid container with `width: auto` derived its available track space from an ancestor width whenever its own used size was not cached yet — and it never was on the first measurement, because `Size.of` short-circuits on that very cache. Second, `RenderElement.dependency()`, the stamp that decides whether a committed rect is still valid, mixed in only the `layoutVersion` counters along the route and not the ancestors' used sizes, while the layout caches' own stamp (`usedSizeDependency()`) did include them. When an ancestor's width changed without anyone bumping a counter, the layout was recomputed but the committed rect was not. `dependency()` now mixes in ancestor sizes like `usedSizeDependency()` does.
- A stale `position` cache could survive its container's resize permanently. `RenderElement.size`'s cache invalidates itself when its dependency goes stale, but it did not tell its children: `position` has no dependency stamp of its own and is only cleared explicitly, and a grid's track change does not travel the style-invalidation path. `size.get()` now drops its children's `position` and committed geometry when it finds itself stale. This is what made a mispositioned card stick until something forced a full relayout.
- Switching `:checked` recomputed the whole document. `Element.setChecked` requested a style recalc on the document element, so toggling any checkbox or radio re-ran style resolution over every element on the page. The affected set for a `:checked` change is the element's own subtree plus its following siblings' subtrees — the combinators (`>`, `+`, `~`, descendant) only look forwards and the selector engine has no `:has` — which is exactly `subtree(parent)`. The recalc is now scoped to that, and `enforceRadioGroupChecked` requests the same scope for each radio it unchecks, since those may live anywhere in the document and previously relied on the whole-document pass to refresh their own following siblings.
- A grid's `gap` was rounded to whole pixels. `Grid.Gaps` held `int`s and parsed the values with `Size.parse`, which rounds, so a non-integer gap (`1.84px` from a scrollbar inset, `3.5px` from a `var()` or a shorthand expansion) was silently changed and the tracks no longer added up to the container's width. Gaps are `double`s parsed through `CssLength` now.
- A scroll container's scrollbar could appear one frame late. `ScrollModel.commitLayoutMetrics()` both measures the scroll area and flips the scrollbar's visibility — a layout input, since the gutter comes out of the content box — but it only marked the layout dirty; whether that became an invalidation depended on where it was called from. The geometry-commit path calls it *after* committing geometry, so the invalidation landed on the next 20 Hz tick and the frame that had just been committed stayed laid out at the old width. The commit path now invalidates immediately (`commitScrollMetricsAfterLayoutCommit`).
release
apricityui-forge-1.18.2 1.2.7
1.2.75 окт. 2026 г.19Minecraft: 1.18.2forge
Что нового
## 1.2.7 - 2026-10-05
### Added
- Layout metrics are typed values now, not strings. `layout/CssLength` parses a CSS length once (leading-number scan, `calc()`/`min()`/`max()`/`clamp()`, unit conversion) and resolves it on demand, so the layout pass no longer re-parses `width`/`height`/`min-*`/`max-*`/`flex-basis` or the `box-sizing` keyword on every visit; `Style` gains lazy accessors (`widthLength()`, `isBorderBox()`, …) that compile at computed-style time and are invalidated on `clone()`/`copyFrom()` so animation buffers cannot read the previous frame's geometry. `Size`'s public API now delegates to `CssLength`, which keeps the two implementations from drifting apart.
- `overflow` and `visibility` normalize to the `Interaction.Overflow` / `Interaction.Visibility` enums, and `display`/`overflow` questions are answered by memoized `Style` accessors (`isFlexDisplay()`, `isGridDisplay()`, `isInFlow()`, `clipsOverflow()`, …) instead of `trim()`+`toLowerCase()` on every call. Only the memoized form changed: `Layout.isInFlow` and `Interaction.isDisplayed` keep their exact-match semantics, while `isFlexDisplay`/`isGridDisplay` stay case-insensitive, as before.
- The first full geometry commit of a document can be sliced across frames. A page whose initial commit would block one frame for hundreds of milliseconds now pays a per-frame budget instead (`initialCommitSliceEnabled`, `initialCommitSliceMs`, default 16 ms), and the document is not painted until its geometry is complete. `-Dapricityui.layout.sliceInitialCommit=false` restores the single-shot commit. Small documents and non-render callers (the tick path, hit testing) keep committing synchronously, because they rely on `commit()` returning with complete geometry.
- `ApricityUI.ensureDocument(path)` returns the existing document for a path or creates one, so callers no longer have to test `Document.get(path)` themselves.
### Changed
- `ApricityUI.createDocument(path)` now marks the document reload-persistent, which is what lets a document created from a screen survive a resource reload and open as an overlay. `Document.create(path)` is unchanged.
- Debug log volume is down substantially. The per-draw font warnings ("blank text draw", which fired once per line that had not been rasterized yet) are capped at 8 per process instead of 1200, and no longer embed the full raster cache key. `CanvasImageSupport`'s per-draw warnings are de-duplicated per resource, so a broken image logs once rather than every frame. Leftover commented-out log blocks, a dead `Image.loadTexture` overload, the unreachable `QwenHtmlOverlayDebug` class and one repeated failure log in each of `StyleAsyncHandler` and `NetworkAsyncHandler` are gone; a number of per-event `INFO` lines (`[AUI Screen]`, `[AUI Viewport]`, `NetworkUtil` chunking, Fabric network registration) moved to `DEBUG`.
### Fixed
- Buttons in the Ore and McUI themes no longer grow taller while pressed. `.button:active` carried hardcoded `padding-top: 9px; padding-bottom: 11px` — correct for the base button's `7px`/`13px`, but `.button-normal` (`8px`/`8px`) and `.button-small` (`5px`/`9px`) have no fixed height, so pressing them added 4 px and 6 px of height respectively and pushed the surrounding content down. Both variants now keep their own vertical padding sum on `:active`, so only the 2 px "pressed" shift remains.
- A grid could lay some of its items out against a different track list than the rest, leaving a card outside its container. Two independent causes, both fixed. First, a grid container with `width: auto` derived its available track space from an ancestor width whenever its own used size was not cached yet — and it never was on the first measurement, because `Size.of` short-circuits on that very cache. Second, `RenderElement.dependency()`, the stamp that decides whether a committed rect is still valid, mixed in only the `layoutVersion` counters along the route and not the ancestors' used sizes, while the layout caches' own stamp (`usedSizeDependency()`) did include them. When an ancestor's width changed without anyone bumping a counter, the layout was recomputed but the committed rect was not. `dependency()` now mixes in ancestor sizes like `usedSizeDependency()` does.
- A stale `position` cache could survive its container's resize permanently. `RenderElement.size`'s cache invalidates itself when its dependency goes stale, but it did not tell its children: `position` has no dependency stamp of its own and is only cleared explicitly, and a grid's track change does not travel the style-invalidation path. `size.get()` now drops its children's `position` and committed geometry when it finds itself stale. This is what made a mispositioned card stick until something forced a full relayout.
- Switching `:checked` recomputed the whole document. `Element.setChecked` requested a style recalc on the document element, so toggling any checkbox or radio re-ran style resolution over every element on the page. The affected set for a `:checked` change is the element's own subtree plus its following siblings' subtrees — the combinators (`>`, `+`, `~`, descendant) only look forwards and the selector engine has no `:has` — which is exactly `subtree(parent)`. The recalc is now scoped to that, and `enforceRadioGroupChecked` requests the same scope for each radio it unchecks, since those may live anywhere in the document and previously relied on the whole-document pass to refresh their own following siblings.
- A grid's `gap` was rounded to whole pixels. `Grid.Gaps` held `int`s and parsed the values with `Size.parse`, which rounds, so a non-integer gap (`1.84px` from a scrollbar inset, `3.5px` from a `var()` or a shorthand expansion) was silently changed and the tracks no longer added up to the container's width. Gaps are `double`s parsed through `CssLength` now.
- A scroll container's scrollbar could appear one frame late. `ScrollModel.commitLayoutMetrics()` both measures the scroll area and flips the scrollbar's visibility — a layout input, since the gutter comes out of the content box — but it only marked the layout dirty; whether that became an invalidation depended on where it was called from. The geometry-commit path calls it *after* committing geometry, so the invalidation landed on the next 20 Hz tick and the frame that had just been committed stayed laid out at the old width. The commit path now invalidates immediately (`commitScrollMetricsAfterLayoutCommit`).
release
apricityui-forge-1.19.2 1.2.6
1.2.62 окт. 2026 г.7Minecraft: 1.19.2forge
Что нового
# 1.2.6
## Changed
- The Resource Manager no longer has a world-window mode: it always opens as a GUI document. The `debug.resourceManagerWorldWindow` option, its DevTools toggle and the tick that switched an open instance between modes are gone.
- `aui-viewport`: `mode` now defaults to `browser` instead of `gui`. A page that omits the meta tag lays out against the browser-style CSS viewport and follows the window; `mode=gui` (alias `mc`) opts back in. Pages that relied on the old implicit GUI viewport must now say `mode=gui`, and WorldWindow pages must declare `mode=fixed`, since the undeclared default is now the 1920-wide browser viewport.
- `<iframe>`: the WebView2 user data directory moved to `apricity/.cache/webview`, and the resource scan, static resource list and dev auto-reload now skip dot-prefixed directories. An existing `apricity/webview` is orphaned: delete it, or move it to `apricity/.cache/webview` to keep its cookies.
## Fixed
- WorldWindow frustum culling and hit testing were built without the camera view matrix, so a panel that was on screen could be culled away the moment the camera turned, and its pointer/crosshair mapping only lined up while the camera faced the world axes. The view matrix is now composed with the pose for both.
- Root `overflow` is carried by the viewport instead of the root element's own box (CSS 2.1 §11.1.1), so a page using the ordinary `html,body{overflow:hidden}` idiom paints again. With no in-flow content the root box is zero-height, which used to collapse the clip to an empty rectangle and cull every node: the whole page disappeared with no error at all.
- Fixed the `GL_INVALID_OPERATION ("Depth formats do not match")` flood when another mod blits depth out of the stencil-enabled main render target (KubeJS's `HighlightRenderer` was the reported case). The destination's depth format is now matched at the blit call site, and the copy succeeds again.
- `<iframe>`: Enter did nothing in a single-line `<input>`, so a page's own search box could never be submitted from the keyboard; it now submits the enclosing form.
release
apricityui-forge-1.18.2 1.2.6
1.2.62 окт. 2026 г.7Minecraft: 1.18.2forge
Что нового
# 1.2.6
## Changed
- The Resource Manager no longer has a world-window mode: it always opens as a GUI document. The `debug.resourceManagerWorldWindow` option, its DevTools toggle and the tick that switched an open instance between modes are gone.
- `aui-viewport`: `mode` now defaults to `browser` instead of `gui`. A page that omits the meta tag lays out against the browser-style CSS viewport and follows the window; `mode=gui` (alias `mc`) opts back in. Pages that relied on the old implicit GUI viewport must now say `mode=gui`, and WorldWindow pages must declare `mode=fixed`, since the undeclared default is now the 1920-wide browser viewport.
- `<iframe>`: the WebView2 user data directory moved to `apricity/.cache/webview`, and the resource scan, static resource list and dev auto-reload now skip dot-prefixed directories. An existing `apricity/webview` is orphaned: delete it, or move it to `apricity/.cache/webview` to keep its cookies.
## Fixed
- WorldWindow frustum culling and hit testing were built without the camera view matrix, so a panel that was on screen could be culled away the moment the camera turned, and its pointer/crosshair mapping only lined up while the camera faced the world axes. The view matrix is now composed with the pose for both.
- Root `overflow` is carried by the viewport instead of the root element's own box (CSS 2.1 §11.1.1), so a page using the ordinary `html,body{overflow:hidden}` idiom paints again. With no in-flow content the root box is zero-height, which used to collapse the clip to an empty rectangle and cull every node: the whole page disappeared with no error at all.
- Fixed the `GL_INVALID_OPERATION ("Depth formats do not match")` flood when another mod blits depth out of the stencil-enabled main render target (KubeJS's `HighlightRenderer` was the reported case). The destination's depth format is now matched at the blit call site, and the copy succeeds again.
- `<iframe>`: Enter did nothing in a single-line `<input>`, so a page's own search box could never be submitted from the keyboard; it now submits the enclosing form.
release
apricityui-neoforge-26.1 1.2.6
1.2.62 окт. 2026 г.10Minecraft: 26.1neoforge
Что нового
# 1.2.6
## Changed
- The Resource Manager no longer has a world-window mode: it always opens as a GUI document. The `debug.resourceManagerWorldWindow` option, its DevTools toggle and the tick that switched an open instance between modes are gone.
- `aui-viewport`: `mode` now defaults to `browser` instead of `gui`. A page that omits the meta tag lays out against the browser-style CSS viewport and follows the window; `mode=gui` (alias `mc`) opts back in. Pages that relied on the old implicit GUI viewport must now say `mode=gui`, and WorldWindow pages must declare `mode=fixed`, since the undeclared default is now the 1920-wide browser viewport.
- `<iframe>`: the WebView2 user data directory moved to `apricity/.cache/webview`, and the resource scan, static resource list and dev auto-reload now skip dot-prefixed directories. An existing `apricity/webview` is orphaned: delete it, or move it to `apricity/.cache/webview` to keep its cookies.
## Fixed
- WorldWindow frustum culling and hit testing were built without the camera view matrix, so a panel that was on screen could be culled away the moment the camera turned, and its pointer/crosshair mapping only lined up while the camera faced the world axes. The view matrix is now composed with the pose for both.
- Root `overflow` is carried by the viewport instead of the root element's own box (CSS 2.1 §11.1.1), so a page using the ordinary `html,body{overflow:hidden}` idiom paints again. With no in-flow content the root box is zero-height, which used to collapse the clip to an empty rectangle and cull every node: the whole page disappeared with no error at all.
- Fixed the `GL_INVALID_OPERATION ("Depth formats do not match")` flood when another mod blits depth out of the stencil-enabled main render target (KubeJS's `HighlightRenderer` was the reported case). The destination's depth format is now matched at the blit call site, and the copy succeeds again.
- `<iframe>`: Enter did nothing in a single-line `<input>`, so a page's own search box could never be submitted from the keyboard; it now submits the enclosing form.
release
apricityui-neoforge-1.21.1 1.2.6
1.2.62 окт. 2026 г.172Minecraft: 1.21.1neoforge
Что нового
# 1.2.6
## Changed
- The Resource Manager no longer has a world-window mode: it always opens as a GUI document. The `debug.resourceManagerWorldWindow` option, its DevTools toggle and the tick that switched an open instance between modes are gone.
- `aui-viewport`: `mode` now defaults to `browser` instead of `gui`. A page that omits the meta tag lays out against the browser-style CSS viewport and follows the window; `mode=gui` (alias `mc`) opts back in. Pages that relied on the old implicit GUI viewport must now say `mode=gui`, and WorldWindow pages must declare `mode=fixed`, since the undeclared default is now the 1920-wide browser viewport.
- `<iframe>`: the WebView2 user data directory moved to `apricity/.cache/webview`, and the resource scan, static resource list and dev auto-reload now skip dot-prefixed directories. An existing `apricity/webview` is orphaned: delete it, or move it to `apricity/.cache/webview` to keep its cookies.
## Fixed
- WorldWindow frustum culling and hit testing were built without the camera view matrix, so a panel that was on screen could be culled away the moment the camera turned, and its pointer/crosshair mapping only lined up while the camera faced the world axes. The view matrix is now composed with the pose for both.
- Root `overflow` is carried by the viewport instead of the root element's own box (CSS 2.1 §11.1.1), so a page using the ordinary `html,body{overflow:hidden}` idiom paints again. With no in-flow content the root box is zero-height, which used to collapse the clip to an empty rectangle and cull every node: the whole page disappeared with no error at all.
- Fixed the `GL_INVALID_OPERATION ("Depth formats do not match")` flood when another mod blits depth out of the stencil-enabled main render target (KubeJS's `HighlightRenderer` was the reported case). The destination's depth format is now matched at the blit call site, and the copy succeeds again.
- `<iframe>`: Enter did nothing in a single-line `<input>`, so a page's own search box could never be submitted from the keyboard; it now submits the enclosing form.
release
apricityui-fabric-26.1 1.2.6
1.2.62 окт. 2026 г.9Minecraft: 26.1fabric
Что нового
# 1.2.6
## Changed
- The Resource Manager no longer has a world-window mode: it always opens as a GUI document. The `debug.resourceManagerWorldWindow` option, its DevTools toggle and the tick that switched an open instance between modes are gone.
- `aui-viewport`: `mode` now defaults to `browser` instead of `gui`. A page that omits the meta tag lays out against the browser-style CSS viewport and follows the window; `mode=gui` (alias `mc`) opts back in. Pages that relied on the old implicit GUI viewport must now say `mode=gui`, and WorldWindow pages must declare `mode=fixed`, since the undeclared default is now the 1920-wide browser viewport.
- `<iframe>`: the WebView2 user data directory moved to `apricity/.cache/webview`, and the resource scan, static resource list and dev auto-reload now skip dot-prefixed directories. An existing `apricity/webview` is orphaned: delete it, or move it to `apricity/.cache/webview` to keep its cookies.
## Fixed
- WorldWindow frustum culling and hit testing were built without the camera view matrix, so a panel that was on screen could be culled away the moment the camera turned, and its pointer/crosshair mapping only lined up while the camera faced the world axes. The view matrix is now composed with the pose for both.
- Root `overflow` is carried by the viewport instead of the root element's own box (CSS 2.1 §11.1.1), so a page using the ordinary `html,body{overflow:hidden}` idiom paints again. With no in-flow content the root box is zero-height, which used to collapse the clip to an empty rectangle and cull every node: the whole page disappeared with no error at all.
- Fixed the `GL_INVALID_OPERATION ("Depth formats do not match")` flood when another mod blits depth out of the stencil-enabled main render target (KubeJS's `HighlightRenderer` was the reported case). The destination's depth format is now matched at the blit call site, and the copy succeeds again.
- `<iframe>`: Enter did nothing in a single-line `<input>`, so a page's own search box could never be submitted from the keyboard; it now submits the enclosing form.
release
apricityui-fabric-1.21.1 1.2.6
1.2.62 окт. 2026 г.12Minecraft: 1.21.1fabric
Что нового
# 1.2.6
## Changed
- The Resource Manager no longer has a world-window mode: it always opens as a GUI document. The `debug.resourceManagerWorldWindow` option, its DevTools toggle and the tick that switched an open instance between modes are gone.
- `aui-viewport`: `mode` now defaults to `browser` instead of `gui`. A page that omits the meta tag lays out against the browser-style CSS viewport and follows the window; `mode=gui` (alias `mc`) opts back in. Pages that relied on the old implicit GUI viewport must now say `mode=gui`, and WorldWindow pages must declare `mode=fixed`, since the undeclared default is now the 1920-wide browser viewport.
- `<iframe>`: the WebView2 user data directory moved to `apricity/.cache/webview`, and the resource scan, static resource list and dev auto-reload now skip dot-prefixed directories. An existing `apricity/webview` is orphaned: delete it, or move it to `apricity/.cache/webview` to keep its cookies.
## Fixed
- WorldWindow frustum culling and hit testing were built without the camera view matrix, so a panel that was on screen could be culled away the moment the camera turned, and its pointer/crosshair mapping only lined up while the camera faced the world axes. The view matrix is now composed with the pose for both.
- Root `overflow` is carried by the viewport instead of the root element's own box (CSS 2.1 §11.1.1), so a page using the ordinary `html,body{overflow:hidden}` idiom paints again. With no in-flow content the root box is zero-height, which used to collapse the clip to an empty rectangle and cull every node: the whole page disappeared with no error at all.
- Fixed the `GL_INVALID_OPERATION ("Depth formats do not match")` flood when another mod blits depth out of the stencil-enabled main render target (KubeJS's `HighlightRenderer` was the reported case). The destination's depth format is now matched at the blit call site, and the copy succeeds again.
- `<iframe>`: Enter did nothing in a single-line `<input>`, so a page's own search box could never be submitted from the keyboard; it now submits the enclosing form.
release
apricityui-fabric-1.20.1 1.2.6
1.2.62 окт. 2026 г.16Minecraft: 1.20.1fabric
Что нового
# 1.2.6
## Changed
- The Resource Manager no longer has a world-window mode: it always opens as a GUI document. The `debug.resourceManagerWorldWindow` option, its DevTools toggle and the tick that switched an open instance between modes are gone.
- `aui-viewport`: `mode` now defaults to `browser` instead of `gui`. A page that omits the meta tag lays out against the browser-style CSS viewport and follows the window; `mode=gui` (alias `mc`) opts back in. Pages that relied on the old implicit GUI viewport must now say `mode=gui`, and WorldWindow pages must declare `mode=fixed`, since the undeclared default is now the 1920-wide browser viewport.
- `<iframe>`: the WebView2 user data directory moved to `apricity/.cache/webview`, and the resource scan, static resource list and dev auto-reload now skip dot-prefixed directories. An existing `apricity/webview` is orphaned: delete it, or move it to `apricity/.cache/webview` to keep its cookies.
## Fixed
- WorldWindow frustum culling and hit testing were built without the camera view matrix, so a panel that was on screen could be culled away the moment the camera turned, and its pointer/crosshair mapping only lined up while the camera faced the world axes. The view matrix is now composed with the pose for both.
- Root `overflow` is carried by the viewport instead of the root element's own box (CSS 2.1 §11.1.1), so a page using the ordinary `html,body{overflow:hidden}` idiom paints again. With no in-flow content the root box is zero-height, which used to collapse the clip to an empty rectangle and cull every node: the whole page disappeared with no error at all.
- Fixed the `GL_INVALID_OPERATION ("Depth formats do not match")` flood when another mod blits depth out of the stencil-enabled main render target (KubeJS's `HighlightRenderer` was the reported case). The destination's depth format is now matched at the blit call site, and the copy succeeds again.
- `<iframe>`: Enter did nothing in a single-line `<input>`, so a page's own search box could never be submitted from the keyboard; it now submits the enclosing form.
release
apricityui-forge-1.20.1 1.2.6
1.2.62 окт. 2026 г.649Minecraft: 1.20.1forge
Что нового
# 1.2.6
## Changed
- The Resource Manager no longer has a world-window mode: it always opens as a GUI document. The `debug.resourceManagerWorldWindow` option, its DevTools toggle and the tick that switched an open instance between modes are gone.
- `aui-viewport`: `mode` now defaults to `browser` instead of `gui`. A page that omits the meta tag lays out against the browser-style CSS viewport and follows the window; `mode=gui` (alias `mc`) opts back in. Pages that relied on the old implicit GUI viewport must now say `mode=gui`, and WorldWindow pages must declare `mode=fixed`, since the undeclared default is now the 1920-wide browser viewport.
- `<iframe>`: the WebView2 user data directory moved to `apricity/.cache/webview`, and the resource scan, static resource list and dev auto-reload now skip dot-prefixed directories. An existing `apricity/webview` is orphaned: delete it, or move it to `apricity/.cache/webview` to keep its cookies.
## Fixed
- WorldWindow frustum culling and hit testing were built without the camera view matrix, so a panel that was on screen could be culled away the moment the camera turned, and its pointer/crosshair mapping only lined up while the camera faced the world axes. The view matrix is now composed with the pose for both.
- Root `overflow` is carried by the viewport instead of the root element's own box (CSS 2.1 §11.1.1), so a page using the ordinary `html,body{overflow:hidden}` idiom paints again. With no in-flow content the root box is zero-height, which used to collapse the clip to an empty rectangle and cull every node: the whole page disappeared with no error at all.
- Fixed the `GL_INVALID_OPERATION ("Depth formats do not match")` flood when another mod blits depth out of the stencil-enabled main render target (KubeJS's `HighlightRenderer` was the reported case). The destination's depth format is now matched at the blit call site, and the copy succeeds again.
- `<iframe>`: Enter did nothing in a single-line `<input>`, so a page's own search box could never be submitted from the keyboard; it now submits the enclosing form.
release
apricityui-neoforge-26.1 1.2.5
1.2.523 сент. 2026 г.32Minecraft: 26.1neoforge
Что нового
# 1.2.5
## Added
- **`<iframe>` — real web pages in game.** Rendered by the system WebView (WebView2 / Edge Runtime on Windows) in a hidden offscreen window and streamed back into a texture, so layout, clipping, transforms and hit testing treat it like any other texture-backed element. Absolute `src` only; pointer and keyboard input is forwarded. Windows x64 + WebView2 Runtime only.
- `<iframe>` `capture` (auto / lossless / fast / stream) and `capture-scale` controls, plus `Iframe.status()` diagnostics and a frame-timing HUD stream line.
- CSS scrollbar styling: `scrollbar-width`, `scrollbar-color`, and the `::-webkit-scrollbar` / `-track` / `-thumb` / `-thumb:hover` / `-corner` pseudo-elements.
## Performance
- `<iframe>` frames now travel as an incremental image stream (32x32 tile diff over shared memory); only changed regions are re-uploaded, and a static page publishes nothing.
- Up to four captures in flight; the capture rate follows the element's draw rate; decoding moved off the input thread (`cmd=` now 0-1 ms); pointer moves coalesced; raster capped at 1.2M pixels.
- Faster item rendering, transform-only style changes no longer force a full relayout, and text measurement no longer allocates per lookup (7.45 -> 0.14 MB/frame).
## Fixed
- Links opened in a new window now navigate in the same iframe instead of spawning a desktop popup, and closing a page shuts down its web view.
- `clip-path` polygon fill rules, concave polygons, and `circle()`/`ellipse()` default radii.
- WorldWindow visibility hysteresis band no longer renders at full cost.
- DevTools no longer answers to a hardcoded Ctrl+Shift+I; it is now only the rebindable "Toggle DevTools" keybind.
release
apricityui-neoforge-1.21.1 1.2.5
1.2.523 сент. 2026 г.163Minecraft: 1.21.1neoforge
Что нового
# 1.2.5
## Added
- **`<iframe>` — real web pages in game.** Rendered by the system WebView (WebView2 / Edge Runtime on Windows) in a hidden offscreen window and streamed back into a texture, so layout, clipping, transforms and hit testing treat it like any other texture-backed element. Absolute `src` only; pointer and keyboard input is forwarded. Windows x64 + WebView2 Runtime only.
- `<iframe>` `capture` (auto / lossless / fast / stream) and `capture-scale` controls, plus `Iframe.status()` diagnostics and a frame-timing HUD stream line.
- CSS scrollbar styling: `scrollbar-width`, `scrollbar-color`, and the `::-webkit-scrollbar` / `-track` / `-thumb` / `-thumb:hover` / `-corner` pseudo-elements.
## Performance
- `<iframe>` frames now travel as an incremental image stream (32x32 tile diff over shared memory); only changed regions are re-uploaded, and a static page publishes nothing.
- Up to four captures in flight; the capture rate follows the element's draw rate; decoding moved off the input thread (`cmd=` now 0-1 ms); pointer moves coalesced; raster capped at 1.2M pixels.
- Faster item rendering, transform-only style changes no longer force a full relayout, and text measurement no longer allocates per lookup (7.45 -> 0.14 MB/frame).
## Fixed
- Links opened in a new window now navigate in the same iframe instead of spawning a desktop popup, and closing a page shuts down its web view.
- `clip-path` polygon fill rules, concave polygons, and `circle()`/`ellipse()` default radii.
- WorldWindow visibility hysteresis band no longer renders at full cost.
- DevTools no longer answers to a hardcoded Ctrl+Shift+I; it is now only the rebindable "Toggle DevTools" keybind.
release
apricityui-fabric-1.21.1 1.2.5
1.2.523 сент. 2026 г.19Minecraft: 1.21.1fabric
Что нового
# 1.2.5
## Added
- **`<iframe>` — real web pages in game.** Rendered by the system WebView (WebView2 / Edge Runtime on Windows) in a hidden offscreen window and streamed back into a texture, so layout, clipping, transforms and hit testing treat it like any other texture-backed element. Absolute `src` only; pointer and keyboard input is forwarded. Windows x64 + WebView2 Runtime only.
- `<iframe>` `capture` (auto / lossless / fast / stream) and `capture-scale` controls, plus `Iframe.status()` diagnostics and a frame-timing HUD stream line.
- CSS scrollbar styling: `scrollbar-width`, `scrollbar-color`, and the `::-webkit-scrollbar` / `-track` / `-thumb` / `-thumb:hover` / `-corner` pseudo-elements.
## Performance
- `<iframe>` frames now travel as an incremental image stream (32x32 tile diff over shared memory); only changed regions are re-uploaded, and a static page publishes nothing.
- Up to four captures in flight; the capture rate follows the element's draw rate; decoding moved off the input thread (`cmd=` now 0-1 ms); pointer moves coalesced; raster capped at 1.2M pixels.
- Faster item rendering, transform-only style changes no longer force a full relayout, and text measurement no longer allocates per lookup (7.45 -> 0.14 MB/frame).
## Fixed
- Links opened in a new window now navigate in the same iframe instead of spawning a desktop popup, and closing a page shuts down its web view.
- `clip-path` polygon fill rules, concave polygons, and `circle()`/`ellipse()` default radii.
- WorldWindow visibility hysteresis band no longer renders at full cost.
- DevTools no longer answers to a hardcoded Ctrl+Shift+I; it is now only the rebindable "Toggle DevTools" keybind.
release
apricityui-fabric-1.20.1 1.2.5
1.2.523 сент. 2026 г.16Minecraft: 1.20.1fabric
Что нового
# 1.2.5
## Added
- **`<iframe>` — real web pages in game.** Rendered by the system WebView (WebView2 / Edge Runtime on Windows) in a hidden offscreen window and streamed back into a texture, so layout, clipping, transforms and hit testing treat it like any other texture-backed element. Absolute `src` only; pointer and keyboard input is forwarded. Windows x64 + WebView2 Runtime only.
- `<iframe>` `capture` (auto / lossless / fast / stream) and `capture-scale` controls, plus `Iframe.status()` diagnostics and a frame-timing HUD stream line.
- CSS scrollbar styling: `scrollbar-width`, `scrollbar-color`, and the `::-webkit-scrollbar` / `-track` / `-thumb` / `-thumb:hover` / `-corner` pseudo-elements.
## Performance
- `<iframe>` frames now travel as an incremental image stream (32x32 tile diff over shared memory); only changed regions are re-uploaded, and a static page publishes nothing.
- Up to four captures in flight; the capture rate follows the element's draw rate; decoding moved off the input thread (`cmd=` now 0-1 ms); pointer moves coalesced; raster capped at 1.2M pixels.
- Faster item rendering, transform-only style changes no longer force a full relayout, and text measurement no longer allocates per lookup (7.45 -> 0.14 MB/frame).
## Fixed
- Links opened in a new window now navigate in the same iframe instead of spawning a desktop popup, and closing a page shuts down its web view.
- `clip-path` polygon fill rules, concave polygons, and `circle()`/`ellipse()` default radii.
- WorldWindow visibility hysteresis band no longer renders at full cost.
- DevTools no longer answers to a hardcoded Ctrl+Shift+I; it is now only the rebindable "Toggle DevTools" keybind.
release
apricityui-forge-1.20.1 1.2.5
1.2.523 сент. 2026 г.647Minecraft: 1.20.1forge
Что нового
# 1.2.5
## Added
- **`<iframe>` — real web pages in game.** Rendered by the system WebView (WebView2 / Edge Runtime on Windows) in a hidden offscreen window and streamed back into a texture, so layout, clipping, transforms and hit testing treat it like any other texture-backed element. Absolute `src` only; pointer and keyboard input is forwarded. Windows x64 + WebView2 Runtime only.
- `<iframe>` `capture` (auto / lossless / fast / stream) and `capture-scale` controls, plus `Iframe.status()` diagnostics and a frame-timing HUD stream line.
- CSS scrollbar styling: `scrollbar-width`, `scrollbar-color`, and the `::-webkit-scrollbar` / `-track` / `-thumb` / `-thumb:hover` / `-corner` pseudo-elements.
## Performance
- `<iframe>` frames now travel as an incremental image stream (32x32 tile diff over shared memory); only changed regions are re-uploaded, and a static page publishes nothing.
- Up to four captures in flight; the capture rate follows the element's draw rate; decoding moved off the input thread (`cmd=` now 0-1 ms); pointer moves coalesced; raster capped at 1.2M pixels.
- Faster item rendering, transform-only style changes no longer force a full relayout, and text measurement no longer allocates per lookup (7.45 -> 0.14 MB/frame).
## Fixed
- Links opened in a new window now navigate in the same iframe instead of spawning a desktop popup, and closing a page shuts down its web view.
- `clip-path` polygon fill rules, concave polygons, and `circle()`/`ellipse()` default radii.
- WorldWindow visibility hysteresis band no longer renders at full cost.
- DevTools no longer answers to a hardcoded Ctrl+Shift+I; it is now only the rebindable "Toggle DevTools" keybind.
release
apricityui-fabric-1.21.1 1.2.4-hotfix
1.2.4-hotfix1 сент. 2026 г.38Minecraft: 1.21.1fabric
Что нового
See the project changelog for details.
release
apricityui-forge-1.20.1 1.2.4-hotfix
1.2.4-hotfix1 сент. 2026 г.4,7 тыс.Minecraft: 1.20.1forge
Что нового
See the project changelog for details.
release
apricityui-fabric-1.20.1 1.2.4-hotfix
1.2.4-hotfix1 сент. 2026 г.28Minecraft: 1.20.1fabric
Что нового
See the project changelog for details.
release
apricityui-neoforge-1.21.1 1.2.4-hotfix
1.2.4-hotfix1 сент. 2026 г.162Minecraft: 1.21.1neoforge
Что нового
See the project changelog for details.
release
apricityui-neoforge-26.1 1.2.4-hotfix
1.2.4-hotfix1 сент. 2026 г.18Minecraft: 26.1neoforge
Что нового
See the project changelog for details.
release
apricityui-fabric-1.21.1 1.2.4
1.2.430 авг. 2026 г.52Minecraft: 1.21.1fabric
Что нового
# Changelog
## 1.2.4 - 2026-08-31
### Added
- Added CSS `mask` support, multiple mask layers, mask compositing, and related clipping behavior.
- Added `contrast()`, `saturate()`, and `sepia()` filters.
- Added `mix-blend-mode`, `isolation`, HDR colors, and linear-light color handling.
- Expanded the Canvas 2D API with common drawing methods, conic gradients, path clipping, `ImageData`, and hit testing.
- Added slot item filters and composable `FilterUtil` rules across supported loaders.
- Expanded the Ore theme, documented the theme token convention, and unified the built-in `ore.css`.
- Added `word-break` support and improved text selection, context-menu selection, and word/paragraph dragging.
### Performance
- Improved canvas dirty-region tracking and texture uploads.
- Changed `mousemove` dispatch to a fixed 60 Hz schedule.
- Optimized page startup, transition warm-up, layout commits, font loading, hit testing, and caches.
- Avoided text-layout cache invalidation on every frame of hover color animations.
- Resolved animated inherited styles in depth order and changed `Size.getScaleHeight` to iterative ancestor resolution to avoid recursive calls and repeated work.
### Fixed
- Fixed a one-frame black flash when mask clipping is initialized.
- Fixed inherited animated text colors not being applied consistently while preserving text layout caches.
- Fixed several mask, stacking, blend-mode, isolation, selection, and Ore theme edge cases.
release
apricityui-neoforge-26.1 1.2.4
1.2.430 авг. 2026 г.10Minecraft: 26.1neoforge
Что нового
# Changelog
## 1.2.4 - 2026-08-31
### Added
- Added CSS `mask` support, multiple mask layers, mask compositing, and related clipping behavior.
- Added `contrast()`, `saturate()`, and `sepia()` filters.
- Added `mix-blend-mode`, `isolation`, HDR colors, and linear-light color handling.
- Expanded the Canvas 2D API with common drawing methods, conic gradients, path clipping, `ImageData`, and hit testing.
- Added slot item filters and composable `FilterUtil` rules across supported loaders.
- Expanded the Ore theme, documented the theme token convention, and unified the built-in `ore.css`.
- Added `word-break` support and improved text selection, context-menu selection, and word/paragraph dragging.
### Performance
- Improved canvas dirty-region tracking and texture uploads.
- Changed `mousemove` dispatch to a fixed 60 Hz schedule.
- Optimized page startup, transition warm-up, layout commits, font loading, hit testing, and caches.
- Avoided text-layout cache invalidation on every frame of hover color animations.
- Resolved animated inherited styles in depth order and changed `Size.getScaleHeight` to iterative ancestor resolution to avoid recursive calls and repeated work.
### Fixed
- Fixed a one-frame black flash when mask clipping is initialized.
- Fixed inherited animated text colors not being applied consistently while preserving text layout caches.
- Fixed several mask, stacking, blend-mode, isolation, selection, and Ore theme edge cases.
release
apricityui-neoforge-1.21.1 1.2.4
1.2.430 авг. 2026 г.712Minecraft: 1.21.1neoforge
Что нового
# Changelog
## 1.2.4 - 2026-08-31
### Added
- Added CSS `mask` support, multiple mask layers, mask compositing, and related clipping behavior.
- Added `contrast()`, `saturate()`, and `sepia()` filters.
- Added `mix-blend-mode`, `isolation`, HDR colors, and linear-light color handling.
- Expanded the Canvas 2D API with common drawing methods, conic gradients, path clipping, `ImageData`, and hit testing.
- Added slot item filters and composable `FilterUtil` rules across supported loaders.
- Expanded the Ore theme, documented the theme token convention, and unified the built-in `ore.css`.
- Added `word-break` support and improved text selection, context-menu selection, and word/paragraph dragging.
### Performance
- Improved canvas dirty-region tracking and texture uploads.
- Changed `mousemove` dispatch to a fixed 60 Hz schedule.
- Optimized page startup, transition warm-up, layout commits, font loading, hit testing, and caches.
- Avoided text-layout cache invalidation on every frame of hover color animations.
- Resolved animated inherited styles in depth order and changed `Size.getScaleHeight` to iterative ancestor resolution to avoid recursive calls and repeated work.
### Fixed
- Fixed a one-frame black flash when mask clipping is initialized.
- Fixed inherited animated text colors not being applied consistently while preserving text layout caches.
- Fixed several mask, stacking, blend-mode, isolation, selection, and Ore theme edge cases.
release
apricityui-fabric-1.20.1 1.2.4
1.2.430 авг. 2026 г.9Minecraft: 1.20.1fabric
Что нового
# Changelog
## 1.2.4 - 2026-08-31
### Added
- Added CSS `mask` support, multiple mask layers, mask compositing, and related clipping behavior.
- Added `contrast()`, `saturate()`, and `sepia()` filters.
- Added `mix-blend-mode`, `isolation`, HDR colors, and linear-light color handling.
- Expanded the Canvas 2D API with common drawing methods, conic gradients, path clipping, `ImageData`, and hit testing.
- Added slot item filters and composable `FilterUtil` rules across supported loaders.
- Expanded the Ore theme, documented the theme token convention, and unified the built-in `ore.css`.
- Added `word-break` support and improved text selection, context-menu selection, and word/paragraph dragging.
### Performance
- Improved canvas dirty-region tracking and texture uploads.
- Changed `mousemove` dispatch to a fixed 60 Hz schedule.
- Optimized page startup, transition warm-up, layout commits, font loading, hit testing, and caches.
- Avoided text-layout cache invalidation on every frame of hover color animations.
- Resolved animated inherited styles in depth order and changed `Size.getScaleHeight` to iterative ancestor resolution to avoid recursive calls and repeated work.
### Fixed
- Fixed a one-frame black flash when mask clipping is initialized.
- Fixed inherited animated text colors not being applied consistently while preserving text layout caches.
- Fixed several mask, stacking, blend-mode, isolation, selection, and Ore theme edge cases.
release
apricityui-forge-1.20.1 1.2.4
1.2.430 авг. 2026 г.277Minecraft: 1.20.1forge
Что нового
# Changelog
## 1.2.4 - 2026-08-31
### Added
- Added CSS `mask` support, multiple mask layers, mask compositing, and related clipping behavior.
- Added `contrast()`, `saturate()`, and `sepia()` filters.
- Added `mix-blend-mode`, `isolation`, HDR colors, and linear-light color handling.
- Expanded the Canvas 2D API with common drawing methods, conic gradients, path clipping, `ImageData`, and hit testing.
- Added slot item filters and composable `FilterUtil` rules across supported loaders.
- Expanded the Ore theme, documented the theme token convention, and unified the built-in `ore.css`.
- Added `word-break` support and improved text selection, context-menu selection, and word/paragraph dragging.
### Performance
- Improved canvas dirty-region tracking and texture uploads.
- Changed `mousemove` dispatch to a fixed 60 Hz schedule.
- Optimized page startup, transition warm-up, layout commits, font loading, hit testing, and caches.
- Avoided text-layout cache invalidation on every frame of hover color animations.
- Resolved animated inherited styles in depth order and changed `Size.getScaleHeight` to iterative ancestor resolution to avoid recursive calls and repeated work.
### Fixed
- Fixed a one-frame black flash when mask clipping is initialized.
- Fixed inherited animated text colors not being applied consistently while preserving text layout caches.
- Fixed several mask, stacking, blend-mode, isolation, selection, and Ore theme edge cases.
release
apricityui-neoforge-26.1 1.2.3
1.2.319 авг. 2026 г.33Minecraft: 26.1neoforge
Что нового
1.2.3 更新:
新增 <audio> 标签与 HTMLAudioElement API(play/pause/currentTime/volume/loop/媒体事件),支持 OGG Vorbis 与 WAV PCM,走 AUI 资源链
新增 <audio controls> 内置控件:菱形紫白设计,播放/暂停 + 进度条拖拽 + 时间显示
资源管理器:音频文件专属图标与内置播放器预览,不支持的格式输出日志原因
input range 控件重做:菱形滑块、紫白配色、轨道加粗,拖拽渲染每帧跟手
Flex 补全:align-items/align-self baseline、flex-wrap 基线对齐、column 方向 flex-wrap、大量缩写属性
修复 issue87;字体默认 16px(弃用字体缩放 meta)
修复服务端加载时误注册客户端渲染服务导致的崩溃
修复 neoforge @Shadow 导致的 NPE
其他:英文文档打包进 jar,缩减 jar 体积
release
apricityui-neoforge-1.21.1 1.2.3
1.2.319 авг. 2026 г.537Minecraft: 1.21.1neoforge
Что нового
1.2.3 更新:
新增 <audio> 标签与 HTMLAudioElement API(play/pause/currentTime/volume/loop/媒体事件),支持 OGG Vorbis 与 WAV PCM,走 AUI 资源链
新增 <audio controls> 内置控件:菱形紫白设计,播放/暂停 + 进度条拖拽 + 时间显示
资源管理器:音频文件专属图标与内置播放器预览,不支持的格式输出日志原因
input range 控件重做:菱形滑块、紫白配色、轨道加粗,拖拽渲染每帧跟手
Flex 补全:align-items/align-self baseline、flex-wrap 基线对齐、column 方向 flex-wrap、大量缩写属性
修复 issue87;字体默认 16px(弃用字体缩放 meta)
修复服务端加载时误注册客户端渲染服务导致的崩溃
修复 neoforge @Shadow 导致的 NPE
其他:英文文档打包进 jar,缩减 jar 体积
release
apricityui-fabric-1.21.1 1.2.3
1.2.319 авг. 2026 г.24Minecraft: 1.21.1fabric
Что нового
1.2.3 更新:
新增 <audio> 标签与 HTMLAudioElement API(play/pause/currentTime/volume/loop/媒体事件),支持 OGG Vorbis 与 WAV PCM,走 AUI 资源链
新增 <audio controls> 内置控件:菱形紫白设计,播放/暂停 + 进度条拖拽 + 时间显示
资源管理器:音频文件专属图标与内置播放器预览,不支持的格式输出日志原因
input range 控件重做:菱形滑块、紫白配色、轨道加粗,拖拽渲染每帧跟手
Flex 补全:align-items/align-self baseline、flex-wrap 基线对齐、column 方向 flex-wrap、大量缩写属性
修复 issue87;字体默认 16px(弃用字体缩放 meta)
修复服务端加载时误注册客户端渲染服务导致的崩溃
修复 neoforge @Shadow 导致的 NPE
其他:英文文档打包进 jar,缩减 jar 体积
release
apricityui-fabric-1.20.1 1.2.3
1.2.319 авг. 2026 г.36Minecraft: 1.20.1fabric
Что нового
1.2.3 更新:
新增 <audio> 标签与 HTMLAudioElement API(play/pause/currentTime/volume/loop/媒体事件),支持 OGG Vorbis 与 WAV PCM,走 AUI 资源链
新增 <audio controls> 内置控件:菱形紫白设计,播放/暂停 + 进度条拖拽 + 时间显示
资源管理器:音频文件专属图标与内置播放器预览,不支持的格式输出日志原因
input range 控件重做:菱形滑块、紫白配色、轨道加粗,拖拽渲染每帧跟手
Flex 补全:align-items/align-self baseline、flex-wrap 基线对齐、column 方向 flex-wrap、大量缩写属性
修复 issue87;字体默认 16px(弃用字体缩放 meta)
修复服务端加载时误注册客户端渲染服务导致的崩溃
修复 neoforge @Shadow 导致的 NPE
其他:英文文档打包进 jar,缩减 jar 体积
release
apricityui-forge-1.20.1 1.2.3
1.2.319 авг. 2026 г.1,5 тыс.Minecraft: 1.20.1forge
Что нового
1.2.3 更新:
新增 <audio> 标签与 HTMLAudioElement API(play/pause/currentTime/volume/loop/媒体事件),支持 OGG Vorbis 与 WAV PCM,走 AUI 资源链
新增 <audio controls> 内置控件:菱形紫白设计,播放/暂停 + 进度条拖拽 + 时间显示
资源管理器:音频文件专属图标与内置播放器预览,不支持的格式输出日志原因
input range 控件重做:菱形滑块、紫白配色、轨道加粗,拖拽渲染每帧跟手
Flex 补全:align-items/align-self baseline、flex-wrap 基线对齐、column 方向 flex-wrap、大量缩写属性
修复 issue87;字体默认 16px(弃用字体缩放 meta)
修复服务端加载时误注册客户端渲染服务导致的崩溃
修复 neoforge @Shadow 导致的 NPE
其他:英文文档打包进 jar,缩减 jar 体积
release
apricityui-neoforge-26.1 1.2.2-hotfix1
1.2.2-hotfix115 авг. 2026 г.24Minecraft: 26.1neoforge
Что нового
fix(mc-neoforge): 移除 @shadow 注解以修复 NPE 问题
release
apricityui-neoforge-1.21.1 1.2.2-hotfix1
1.2.2-hotfix115 авг. 2026 г.125Minecraft: 1.21.1neoforge
Что нового
fix(mc-neoforge): 移除 @shadow 注解以修复 NPE 问题
release
apricityui-neoforge-26.1 1.2.2
1.2.214 авг. 2026 г.10Minecraft: 26.1neoforge
Что нового
1.2.2
- Added contenteditable rich-text editing, Selection/Range, and innerText support.
- Added two-way CSSOM style synchronization and corrected cascade/!important handling.
- Fixed dynamic class and inline display updates committing stale render state.
- Fixed rich-text caret, text layout, underline/strikethrough, and Ore theme preview issues.
- Improved container quick-move, dedicated-server compatibility, overlay visibility, and multi-target project support.
release
apricityui-neoforge-1.21.1 1.2.2
1.2.214 авг. 2026 г.55Minecraft: 1.21.1neoforge
Что нового
1.2.2
- Added contenteditable rich-text editing, Selection/Range, and innerText support.
- Added two-way CSSOM style synchronization and corrected cascade/!important handling.
- Fixed dynamic class and inline display updates committing stale render state.
- Fixed rich-text caret, text layout, underline/strikethrough, and Ore theme preview issues.
- Improved container quick-move, dedicated-server compatibility, overlay visibility, and multi-target project support.
release
apricityui-fabric-1.21.1 1.2.2
1.2.214 авг. 2026 г.20Minecraft: 1.21.1fabric
Что нового
1.2.2
- Added contenteditable rich-text editing, Selection/Range, and innerText support.
- Added two-way CSSOM style synchronization and corrected cascade/!important handling.
- Fixed dynamic class and inline display updates committing stale render state.
- Fixed rich-text caret, text layout, underline/strikethrough, and Ore theme preview issues.
- Improved container quick-move, dedicated-server compatibility, overlay visibility, and multi-target project support.
release
apricityui-forge-1.20.1 1.2.2
1.2.214 авг. 2026 г.672Minecraft: 1.20.1forge
Что нового
1.2.2
- Added contenteditable rich-text editing, Selection/Range, and innerText support.
- Added two-way CSSOM style synchronization and corrected cascade/!important handling.
- Fixed dynamic class and inline display updates committing stale render state.
- Fixed rich-text caret, text layout, underline/strikethrough, and Ore theme preview issues.
- Improved container quick-move, dedicated-server compatibility, overlay visibility, and multi-target project support.
release
apricityui-fabric-1.20.1 1.2.2
1.2.214 авг. 2026 г.26Minecraft: 1.20.1fabric
Что нового
1.2.2
- Added contenteditable rich-text editing, Selection/Range, and innerText support.
- Added two-way CSSOM style synchronization and corrected cascade/!important handling.
- Fixed dynamic class and inline display updates committing stale render state.
- Fixed rich-text caret, text layout, underline/strikethrough, and Ore theme preview issues.
- Improved container quick-move, dedicated-server compatibility, overlay visibility, and multi-target project support.
release
apricityui-neoforge-26.1 1.2.1
1.2.19 авг. 2026 г.14Minecraft: 26.1neoforge
Что нового
## ApricityUI 1.2.1
### 修复
- 网络资源缓存无上限:SUCCESS_CACHE 增加容量上限(256 条)与定期清扫,内存不再随访问 URL 数持续增长(issue #72)
### Flex 布局增强
- flex-direction: row-reverse / column-reverse
- flex-wrap: wrap-reverse
- align-content(多行容器)
- align-items / align-self: baseline(row 方向)
- order 排序
release
apricityui-neoforge-1.21.1 1.2.1
1.2.19 авг. 2026 г.172Minecraft: 1.21.1neoforge
Что нового
## ApricityUI 1.2.1
### 修复
- 网络资源缓存无上限:SUCCESS_CACHE 增加容量上限(256 条)与定期清扫,内存不再随访问 URL 数持续增长(issue #72)
### Flex 布局增强
- flex-direction: row-reverse / column-reverse
- flex-wrap: wrap-reverse
- align-content(多行容器)
- align-items / align-self: baseline(row 方向)
- order 排序
release
apricityui-fabric-1.21.1 1.2.1
1.2.19 авг. 2026 г.24Minecraft: 1.21.1fabric
Что нового
## ApricityUI 1.2.1
### 修复
- 网络资源缓存无上限:SUCCESS_CACHE 增加容量上限(256 条)与定期清扫,内存不再随访问 URL 数持续增长(issue #72)
### Flex 布局增强
- flex-direction: row-reverse / column-reverse
- flex-wrap: wrap-reverse
- align-content(多行容器)
- align-items / align-self: baseline(row 方向)
- order 排序
release
apricityui-fabric-1.20.1 1.2.1
1.2.19 авг. 2026 г.38Minecraft: 1.20.1fabric
Что нового
## ApricityUI 1.2.1
### 修复
- 网络资源缓存无上限:SUCCESS_CACHE 增加容量上限(256 条)与定期清扫,内存不再随访问 URL 数持续增长(issue #72)
### Flex 布局增强
- flex-direction: row-reverse / column-reverse
- flex-wrap: wrap-reverse
- align-content(多行容器)
- align-items / align-self: baseline(row 方向)
- order 排序
release
apricityui-forge-1.20.1 1.2.1
1.2.19 авг. 2026 г.990Minecraft: 1.20.1forge
Что нового
## ApricityUI 1.2.1
### 修复
- 网络资源缓存无上限:SUCCESS_CACHE 增加容量上限(256 条)与定期清扫,内存不再随访问 URL 数持续增长(issue #72)
### Flex 布局增强
- flex-direction: row-reverse / column-reverse
- flex-wrap: wrap-reverse
- align-content(多行容器)
- align-items / align-self: baseline(row 方向)
- order 排序
release
apricityui-neoforge-26.1 1.2.0-hotfix2
1.2.0-hotfix28 авг. 2026 г.35Minecraft: 26.1neoforge
Что нового
1.2.0-hotfix2:修复渲染状态残留问题,并将 DevTools 日志同步写入 latest.log 与 logs/aui.log。
release
apricityui-fabric-1.21.1 1.2.0-hotfix2
1.2.0-hotfix28 авг. 2026 г.19Minecraft: 1.21.1fabric
Что нового
1.2.0-hotfix2:修复渲染状态残留问题,并将 DevTools 日志同步写入 latest.log 与 logs/aui.log。
release
apricityui-fabric-1.20.1 1.2.0-hotfix2
1.2.0-hotfix28 авг. 2026 г.23Minecraft: 1.20.1fabric
Что нового
1.2.0-hotfix2:修复渲染状态残留问题,并将 DevTools 日志同步写入 latest.log 与 logs/aui.log。
release
apricityui-neoforge-1.21.1 1.2.0-hotfix2
1.2.0-hotfix28 авг. 2026 г.70Minecraft: 1.21.1neoforge
Что нового
将 DevTools Console 中由本模组产生的日志同步写入 Minecraft latest.log,并新增仅保留最新一次运行内容的 logs/aui.log。
release
apricityui-forge-1.20.1 1.2.0-hotfix2
1.2.0-hotfix27 авг. 2026 г.600Minecraft: 1.20.1forge
Что нового
修复 Forge 1.20.1 发布包未重混淆导致生产环境启动时出现 NoSuchMethodError 的问题(#68)。
release
apricityui-fabric-1.20.1 1.2.0
1.2.07 авг. 2026 г.33Minecraft: 1.20.1fabric
Что нового
Fabric 1.20.1 / 1.21.1 release of ApricityUI 1.2.0.
release
apricityui-fabric-1.21.1 1.2.0
1.2.07 авг. 2026 г.38Minecraft: 1.21.1fabric
Что нового
Fabric 1.20.1 / 1.21.1 release of ApricityUI 1.2.0.
release
apricityui-forge-1.20.1 1.2.0-hotfix
1.2.0-hotfix6 авг. 2026 г.401Minecraft: 1.20.1forge
Что нового
Version parity release with the NeoForge 26.1 hotfix. No 1.20.1-specific changes.
release
apricityui-neoforge-26.1 1.2.0-hotfix
1.2.0-hotfix6 авг. 2026 г.19Minecraft: 26.1neoforge
Что нового
Hotfix for NeoForge 26.1: pages (F10 resource manager, F12 DevTools) no longer fail to open in production. Templates are now rescanned once the client resource manager is ready, and Rhino is truly optional: without it pages render normally and only page scripts are skipped instead of crashing.
release
apricityui-forge-1.20.1 1.2.0
1.2.06 авг. 2026 г.425Minecraft: 1.20.1forge
Что нового
Major refactor with massively expanded coverage of browser/web standards. Adds an in-game Resource Manager (F10) and DevTools (F12). Reading the revamped documentation is highly recommended.
release
apricityui-neoforge-1.21.1 1.2.0
1.2.06 авг. 2026 г.523Minecraft: 1.21.1neoforge
Что нового
Major refactor with massively expanded coverage of browser/web standards. Adds an in-game Resource Manager (F10) and DevTools (F12). Reading the revamped documentation is highly recommended.
release
apricityui-neoforge-26.1 1.2.0
1.2.06 авг. 2026 г.15Minecraft: 26.1neoforge
Что нового
Major refactor with massively expanded coverage of browser/web standards. Adds an in-game Resource Manager (F10) and DevTools (F12). Reading the revamped documentation is highly recommended.
release
ApricityUI 1.1.6-dev
1.1.6-dev15 июн. 2026 г.29,7 тыс.Minecraft: 1.20.1forge
release
ApricityUI 1.1.3-dev
1.1.3-dev6 июн. 2026 г.393Minecraft: 1.21.1neoforge
release
ApricityUI 1.1.4
1.1.46 июн. 2026 г.156Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
release
ApricityUI 1.1.4
1.1.45 июн. 2026 г.40Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
release
ApricityUI 1.1.4
1.1.44 июн. 2026 г.19,7 тыс.Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
release
ApricityUI 1.1.3-dev
1.1.3-dev27 мая 2026 г.186Minecraft: 26.1, 26.1.1, 26.1.2neoforge
release
ApricityUI 1.1.2
1.1.26 мая 2026 г.69Minecraft: 26.1, 26.1.1, 26.1.2neoforge
release
ApricityUI 1.1.0
1.1.016 апр. 2026 г.112Minecraft: 1.20.1forge
release
ApricityUI 1.1.0
1.1.016 апр. 2026 г.80Minecraft: 1.21.1neoforge
release
ApricityUI 1.1.0
1.1.016 апр. 2026 г.50Minecraft: 26.1, 26.1.1, 26.1.2neoforge
beta
ApricityUI 1.1.0
1.1.0-dev6 апр. 2026 г.45Minecraft: 1.21.1neoforge
beta
ApricityUI 1.0.4.1
1.0.4.16 апр. 2026 г.51Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
release
ApricityUI 1.0.4
1.0.415 мар. 2026 г.69Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
release
ApricityUI 1.0.2
1.0.28 мар. 2026 г.30Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge
beta
ApricityUI 1.0.0
1.0.08 мар. 2026 г.54Minecraft: 1.21.1neoforge
beta
ApricityUI 1.0.1
1.0.18 мар. 2026 г.48Minecraft: 1.18.2forge
beta
ApricityUI 1.0.1
1.0.18 мар. 2026 г.58Minecraft: 1.19.2, 1.19.3, 1.19.4forge
release
ApricityUI 1.0.0
1.0.023 февр. 2026 г.55Minecraft: 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6forge