# Changelog

## Score

- CAI 49 → 40 (-9.0)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 76 → 97 (+21.0)
- Architecture 98 → 69 (-28.9)
- Maturity 71 → 63 (-7.6)
- Readiness 76 → 27 (-49.0)
- Security 48 → 33 (-14.3)

## Resolved (213)

- Area::begin (cognitive 18) (crates/egui/src/containers/area.rs)
- Area::begin (cyclomatic 16) (crates/egui/src/containers/area.rs)
- AtomLayout::measure (cognitive 24) (crates/egui/src/atomics/atom_layout.rs)
- Build action pinned to a mutable branch
- Button::atom_ui (cognitive 22) (crates/egui/src/widgets/button.rs)
- Button::atom_ui (cyclomatic 19) (crates/egui/src/widgets/button.rs)
- Change coupling: button.rs ↔ checkbox.rs (crates/egui/src/widgets/button.rs)
- Change coupling: image.rs ↔ loaders.rs (crates/egui/src/widgets/image.rs)
- Change coupling: strip.rs ↔ table.rs (crates/egui_extras/src/strip.rs)
- Change coupling: text_shape.rs ↔ text_layout.rs (crates/epaint/src/shapes/text_shape.rs)
- Change coupling: ui.rs ↔ texture_handle.rs (crates/egui/src/ui.rs)
- Change coupling: web_painter_wgpu.rs ↔ winit.rs (crates/eframe/src/web/web_painter_wgpu.rs)
- CollapsingHeader::begin (cognitive 17) (crates/egui/src/containers/collapsing_header.rs)
- Context::create_widget (cyclomatic 16) (crates/egui/src/context.rs)
- Context::debug_painting (cognitive 67) (crates/egui/src/context.rs)
- Context::debug_painting (cyclomatic 32) (crates/egui/src/context.rs)
- Context::get_response (cognitive 27) (crates/egui/src/context.rs)
- Context::get_response (cyclomatic 26) (crates/egui/src/context.rs)
- Context::interactive_rects_last_pass (cognitive 17) (crates/egui/src/context.rs)
- Context::memory_ui (cognitive 16) (crates/egui/src/context.rs)
- …and 193 more

## New (3)

- Dimension evaluation failed
- No automated tests
- No tests found

## Changes since last survey

- 31 commits — 24 feature/other, 7 fixes

## By area

- crates/egui — 12 commits
- (root) — 5 commits
- crates/egui_kittest — 4 commits
- crates/eframe — 3 commits
- tests/egui_tests — 2 commits
- crates/egui-wgpu — 1 commit
- crates/egui_demo_app — 1 commit
- crates/egui_demo_lib — 1 commit
- crates/emath — 1 commit
- crates/epaint — 1 commit

## Notable commits

- fix: Fix ScrollArea failure by handling horizontal and vertical scrolling separately in the missing place (#8275)
- fix: Fix TextEdit hint text not following horizontal_align/vertical_align (#8332)
- fix: Fix `egui_kittest` failing to compile without the `wgpu` feature (#8381)
- fix: Fix a few nightly clippy lints (#8388)
- fix: Fix incorrect feature name in the code editor demo (#8330)
- fix: Fix where `Panel` puts its separator line, and how much room it reserves (#8382)
- fix: Fix window with a `Grid` being widenable but not shrinkable again (#8386)
- change:  Rename `failed_pixel_count_threshold` to `max_failed_pixels` (#8383)
- change: Add `BoxedWidget`: dynamically dispatched widgets (#8378)
- change: Add `LayoutJob::clear` (#8376)
- change: Add `WidgetText::size` (#8377)
- change: Add `egui::Window::title_frame` (#8353)
- change: Add `extra_text_line_spacing` to control vertical spacing between text lines (#8040)
- change: Add drag-to-open for collapsible panels (#8363)
- change: Eframe: make webbrowser dependency optional (#8372)
- change: Enable the `clippy::std_instead_of_core` lint (#8394)
- change: Make non-interactive tooltips not interactable (#8362)
- change: Make wgpu Instance public (#8321)
- change: Never run an egui pass when nothing will be shown (#8387)
- change: Panels: Take separator line width into account (#8367)
- …and 11 more

## Architecture

- Containers 0 added · 0 removed · contexts 0 added · 1 removed · edges 0 added · 0 removed

## Removed bounded contexts (1)

- python
