# Changelog

## Score

- CAI 73 → 77 (+4.0)
- Rubric changed (rubric-2026.09.9 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 80 → 80 (-0.1)
- Architecture 97 → 98 (+1.2)
- Maturity 71 → 72 (+0.4)
- Readiness 76 → 79 (+2.8)
- Security 67 → 77 (+9.9)
- Event Sourcing 100 → 100 (+0.0)
- Performance 100 (new)

## Resolved (24)

- ClassTooLong: Popup (winit-wayland/src/popup.rs)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (5 lines × 2) (winit-wayland/src/seat/touch/mod.rs)
- Duplicated block (6 lines × 2) (winit-wayland/src/popup.rs)
- Duplicated block (7 lines × 2) (winit-wayland/src/popup.rs)
- Duplicated block (7 lines × 2) (winit-wayland/src/window/state.rs)
- FileTooLong: window/state.rs (winit-wayland/src/window/state.rs)
- Further sole-owners (lower concentration)
- Hotspot: winit-android/src/event_loop.rs (winit-android/src/event_loop.rs)
- Hotspot: winit-appkit/src/cursor.rs (winit-appkit/src/cursor.rs)
- Hotspot: winit-core/src/event.rs (winit-core/src/event.rs)
- Hotspot: winit-wayland/src/window/state.rs (winit-wayland/src/window/state.rs)
- Hotspot: winit-x11/src/event_processor.rs (winit-x11/src/event_processor.rs)
- Hotspot: winit-x11/src/window.rs (winit-x11/src/window.rs)
- Members sharing a duplicated core (4 members, 50+ identical tokens) (winit-android/src/event_loop.rs)
- Off-boarding risk: anonymized user #1
- Popup::new (cognitive 32) (winit-wayland/src/popup.rs)
- Scanner failed to run — not a clean result
- TodoComment (winit-wayland/src/window/state.rs)
- …and 4 more

## New (25)

- Boundary-crossing change coupling: event_loop.rs ↔ mod.rs (winit-android/src/event_loop.rs)
- Boundary-crossing change coupling: icon.rs ↔ mod.rs (winit-win32/src/icon.rs)
- Boundary-crossing change coupling: mod.rs ↔ event_loop.rs (winit-wayland/src/seat/touch/mod.rs)
- Boundary-crossing change coupling: mod.rs ↔ event_processor.rs (winit-wayland/src/seat/touch/mod.rs)
- Boundary-crossing change coupling: view.rs ↔ mod.rs (winit-uikit/src/view.rs)
- Change coupling: mod.rs ↔ mod.rs (winit-wayland/src/seat/pointer/mod.rs)
- Dependency hygiene PARTLY measured — Cargo dependencies read, no committed lock to grade for currency
- Documentation: no project overview (winit/README.md)
- Documentation: no usage examples (winit/README.md)
- Duplicate methods with identical signatures and likely identical implementation intent. `add_type` and `with_type` are semantically equivalent in builder patterns.
- Duplicated block (9 lines × 2) (winit-wayland/src/window/state.rs)
- Hotspot: winit-win32/src/window.rs (winit-win32/src/window.rs)
- Low cohesion: ActiveEventLoop (LCOM4 4) (winit-appkit/src/event_loop.rs)
- Low cohesion: ActiveEventLoop (LCOM4 4) (winit-win32/src/event_loop.rs)
- Low cohesion: WinitState (LCOM4 4) (winit-wayland/src/state.rs)
- Members sharing a duplicated core (4 members, 50+ identical tokens) (winit-android/src/event_loop.rs)
- MethodTooLong: Window.new (winit-wayland/src/window/mod.rs)
- Off the main sequence: dpi
- Off the main sequence: winit-common
- Off-boarding risk: anonymized user #1
- …and 5 more

## Changes since last survey

- 11 commits — 10 feature/other, 1 fixes

## By area

- winit-wayland/src — 4 commits
- winit-appkit/src — 3 commits
- (root) — 1 commit
- winit-core/Cargo.toml — 1 commit
- winit-core/src — 1 commit
- winit-win32/src — 1 commit

## Notable commits

- fix: win32: fix crash when moving a window that owns non-winit windows (#4700)
- change: Add enum CreateWindowError
- change: Add enum CustomCursorError
- change: Add enum TransferError
- change: Add struct InternalError and use in SurfaceSizeWriter
- change: Remove the url dependency from winit-core
- change: Remove the url dependency from winit-win32 and the dnd example
- change: Remove variant RequestError::Ignored
- change: clamp anchor rect size before storing the new positioner in the last_config (#4714)
- change: wayland: refactor window/popup state to be reusable across window types (#4695)
- change: wayland: use touch serials for drag_window, resize and window_menu
