# Changelog
## [0.4.1](https://github.com/benletchford/systemless/compare/v0.4.0...v0.4.1) (2026-07-25)
### Bug Fixes
* dim a disabled menu title with the gray pattern instead of hiding it ([92d9246](https://github.com/benletchford/systemless/commit/92d92466037b45d703e6045ad09dad25e03909d4))
* keep the menu-bar exclusion out of a window's content region so moved windows do not lose their top rows ([3ba5c08](https://github.com/benletchford/systemless/commit/3ba5c083b51c5e72e0cc7ea34880c32e10a241e5))
* populate the 68k exception vector table so a stray deref of address 0 lands in ROM space ([b764613](https://github.com/benletchford/systemless/commit/b7646136281e71bc02879327047a9ce70fbef60f))
* report a loaded resource handle's exact byte count from GetHandleSize ([e85894e](https://github.com/benletchford/systemless/commit/e85894e88544f84fca84d50c417aec361af3cab0))
* subtract front windows from visRgn so a background repaint cannot erase a modal dialog ([2420fb0](https://github.com/benletchford/systemless/commit/2420fb06c5a1b5b64f2872096afba568c99635e7))
## [0.4.0](https://github.com/benletchford/systemless/compare/v0.3.0...v0.4.0) (2026-07-25)
### Features
* play QuickTime movies on a timeline with cvid, rle and smc image decoders ([37b62a7](https://github.com/benletchford/systemless/commit/37b62a76b7ebaede548b281ecc83ee1a027e6d7b))
## [0.3.0](https://github.com/benletchford/systemless/compare/v0.2.5...v0.3.0) (2026-07-25)
### Features
* show the retro computer menu mark in 68k games ([e96d4a5](https://github.com/benletchford/systemless/commit/e96d4a5691324cf7d1a62d4a0433b554f2ca5677))
### Bug Fixes
* .release-please-manifest.json ([4a7fe45](https://github.com/benletchford/systemless/commit/4a7fe45a08df5799a79808af2e0f8a8cc72d3096))
* **audio:** recover buffered lead after frontend stalls ([3cf0a5f](https://github.com/benletchford/systemless/commit/3cf0a5fb54e247801fd860d3840aff15b95ba1dd))
* **build:** keep the Metal presenter out of automatic binaries ([ad9a089](https://github.com/benletchford/systemless/commit/ad9a089eeb47b9cfd6c3943660a40f5d275dffa7))
* **deps:** update m68k to 0.2.4 ([a7882de](https://github.com/benletchford/systemless/commit/a7882de4d7eecd0e4cf3bd86c31654de4dc93933))
* **event:** initialize classic double-click interval ([a95e9d3](https://github.com/benletchford/systemless/commit/a95e9d3de6260c1a0f0504cde7d0ab9f234502ce))
* **event:** initialize classic double-click interval ([d42f3d1](https://github.com/benletchford/systemless/commit/d42f3d177c15108b29181724d708c14a0aa0295a))
* **gui:** detect and cache centered game viewports ([74a3391](https://github.com/benletchford/systemless/commit/74a33911dc1200da87578d0eff1e0f2db6cbd88e))
* **gui:** preserve cached crop during startup detection ([3ab59ab](https://github.com/benletchford/systemless/commit/3ab59ab76c292a06803c99ec2b9c8f0e93c01c8f))
* **gui:** preserve transactional resizing with async presentation ([891562c](https://github.com/benletchford/systemless/commit/891562cf0b216d00d5716437cb0251b3645aea24))
* **gui:** reveal transient dialogs without resize bounce ([b3d4164](https://github.com/benletchford/systemless/commit/b3d4164f127b685e4d2169aa9d6432d54e0687a5))
* honor the system event mask when posting key-up events ([e81e949](https://github.com/benletchford/systemless/commit/e81e949e9bab24b8a806b59992891cf664cf19e7))
* **macos:** drain Metal worker autoreleases ([e98664d](https://github.com/benletchford/systemless/commit/e98664d97390136bc5e79d5c16d8d3086a1681de))
* **macos:** drain Metal worker autoreleases ([a8e0f1b](https://github.com/benletchford/systemless/commit/a8e0f1b459e5732be0632dbe68e1658a97ac892f))
* **memory:** validate RecoverHandle master-pointer slots ([b72ea7d](https://github.com/benletchford/systemless/commit/b72ea7ddb50f784fdf49d67f4322b09bd4805f0d))
* **memory:** validate RecoverHandle master-pointer slots ([53c1fa7](https://github.com/benletchford/systemless/commit/53c1fa7afdfa6a018023a017739ad36cc5e1693d))
* preserve guest menu enable flags in MORE ([04370de](https://github.com/benletchford/systemless/commit/04370de9f5575c043d21303ae5b73e0c3d81dbcc))
* select menu item at mouse release ([c2177b1](https://github.com/benletchford/systemless/commit/c2177b12f12a5c18681328bb1b9a0b48e4f1cc19))
* suppress duplicate host keydown events ([38155a2](https://github.com/benletchford/systemless/commit/38155a2b6d3a015ec828588300eb7b58ac14980b))
* suppress standalone modifier key events ([f286228](https://github.com/benletchford/systemless/commit/f2862283ad72c1e654d4cf3a08364d95f4a07b65))
* terminate exhausted Marathon terminal style insertions ([30f49a4](https://github.com/benletchford/systemless/commit/30f49a4d929c37ecd9e5c4de14b2ead5af420d89))
### Performance Improvements
* **gui:** decode guest framebuffers in Metal ([fca3ecc](https://github.com/benletchford/systemless/commit/fca3ecccf0a88570c5542e4d9eb8faf290f810d1))
* **gui:** decode guest framebuffers in Metal ([76c3925](https://github.com/benletchford/systemless/commit/76c3925496d43097b2cc016b9f2208c3782d14f2))
* **gui:** decouple Metal presentation from emulation ([b165448](https://github.com/benletchford/systemless/commit/b165448b317acae1d3bf51ce94174265dd166d79))
* **gui:** decouple Metal presentation from emulation ([e03f4b0](https://github.com/benletchford/systemless/commit/e03f4b02440b20703644ea86d804cd42dcd948dc)), closes [#23](https://github.com/benletchford/systemless/issues/23)
* **gui:** present macOS frames with Metal ([ec589a8](https://github.com/benletchford/systemless/commit/ec589a825fa6cc7dd0015558317dc70a4af7f9f4))
* **gui:** present macOS frames with Metal ([35cef58](https://github.com/benletchford/systemless/commit/35cef58733c62aa77211188533e2d212129efae5))
* **gui:** skip unchanged Metal guest frames ([812e1a7](https://github.com/benletchford/systemless/commit/812e1a749009da7824d91b65b2dbfb0832e304ec))
* **gui:** skip unchanged Metal guest frames ([d2ab17c](https://github.com/benletchford/systemless/commit/d2ab17c062f7a51859c106f94caddd6a07eabcd0))
* **runner:** fast-forward capped GUI TickCount waits ([7b9b940](https://github.com/benletchford/systemless/commit/7b9b940424f89b8ad70ff9d270fcf082ee642147))
* **runner:** fast-forward capped GUI TickCount waits ([721ab96](https://github.com/benletchford/systemless/commit/721ab96cccf836afa156b787e6d183ef28ac7ea3))
* **runner:** fast-forward TickCount BEQ waits ([6dc03b4](https://github.com/benletchford/systemless/commit/6dc03b430dc11ffd13c19c18ef583767c3abe6e6))
* **runner:** fast-forward TickCount BEQ waits ([22231e0](https://github.com/benletchford/systemless/commit/22231e0803c1b67f7fddca559f514a9cd359995c))
## [0.2.2](https://github.com/benletchford/systemless/compare/v0.2.1...v0.2.2) (2026-07-24)
### Bug Fixes
* **deps:** update m68k to 0.2.4 ([a7882de](https://github.com/benletchford/systemless/commit/a7882de4d7eecd0e4cf3bd86c31654de4dc93933))
## [0.2.1](https://github.com/benletchford/systemless/compare/v0.2.0...v0.2.1) (2026-07-24)
### Bug Fixes
* **macos:** drain Metal worker autoreleases ([e98664d](https://github.com/benletchford/systemless/commit/e98664d97390136bc5e79d5c16d8d3086a1681de))
* **macos:** drain Metal worker autoreleases ([a8e0f1b](https://github.com/benletchford/systemless/commit/a8e0f1b459e5732be0632dbe68e1658a97ac892f))
### Performance Improvements
* **runner:** fast-forward TickCount BEQ waits ([6dc03b4](https://github.com/benletchford/systemless/commit/6dc03b430dc11ffd13c19c18ef583767c3abe6e6))
* **runner:** fast-forward TickCount BEQ waits ([22231e0](https://github.com/benletchford/systemless/commit/22231e0803c1b67f7fddca559f514a9cd359995c))
## [0.2.0](https://github.com/benletchford/systemless/compare/v0.1.133...v0.2.0) (2026-07-23)
### Features
* show the retro computer menu mark in 68k games ([e96d4a5](https://github.com/benletchford/systemless/commit/e96d4a5691324cf7d1a62d4a0433b554f2ca5677))
### Bug Fixes
* preserve guest menu enable flags in MORE ([04370de](https://github.com/benletchford/systemless/commit/04370de9f5575c043d21303ae5b73e0c3d81dbcc))
* select menu item at mouse release ([c2177b1](https://github.com/benletchford/systemless/commit/c2177b12f12a5c18681328bb1b9a0b48e4f1cc19))
* suppress standalone modifier key events ([f286228](https://github.com/benletchford/systemless/commit/f2862283ad72c1e654d4cf3a08364d95f4a07b65))
## [0.1.133](https://github.com/benletchford/systemless/compare/v0.1.132...v0.1.133) (2026-07-23)
### Bug Fixes
* **audio:** recover buffered lead after frontend stalls ([3cf0a5f](https://github.com/benletchford/systemless/commit/3cf0a5fb54e247801fd860d3840aff15b95ba1dd))
* **build:** keep the Metal presenter out of automatic binaries ([ad9a089](https://github.com/benletchford/systemless/commit/ad9a089eeb47b9cfd6c3943660a40f5d275dffa7))
* **event:** initialize classic double-click interval ([a95e9d3](https://github.com/benletchford/systemless/commit/a95e9d3de6260c1a0f0504cde7d0ab9f234502ce))
* **event:** initialize classic double-click interval ([d42f3d1](https://github.com/benletchford/systemless/commit/d42f3d177c15108b29181724d708c14a0aa0295a))
* **gui:** detect and cache centered game viewports ([74a3391](https://github.com/benletchford/systemless/commit/74a33911dc1200da87578d0eff1e0f2db6cbd88e))
* **gui:** preserve cached crop during startup detection ([3ab59ab](https://github.com/benletchford/systemless/commit/3ab59ab76c292a06803c99ec2b9c8f0e93c01c8f))
* **gui:** preserve transactional resizing with async presentation ([891562c](https://github.com/benletchford/systemless/commit/891562cf0b216d00d5716437cb0251b3645aea24))
* **gui:** reveal transient dialogs without resize bounce ([b3d4164](https://github.com/benletchford/systemless/commit/b3d4164f127b685e4d2169aa9d6432d54e0687a5))
* **memory:** validate RecoverHandle master-pointer slots ([b72ea7d](https://github.com/benletchford/systemless/commit/b72ea7ddb50f784fdf49d67f4322b09bd4805f0d))
* **memory:** validate RecoverHandle master-pointer slots ([53c1fa7](https://github.com/benletchford/systemless/commit/53c1fa7afdfa6a018023a017739ad36cc5e1693d))
### Performance Improvements
* **gui:** decode guest framebuffers in Metal ([fca3ecc](https://github.com/benletchford/systemless/commit/fca3ecccf0a88570c5542e4d9eb8faf290f810d1))
* **gui:** decode guest framebuffers in Metal ([76c3925](https://github.com/benletchford/systemless/commit/76c3925496d43097b2cc016b9f2208c3782d14f2))
* **gui:** decouple Metal presentation from emulation ([b165448](https://github.com/benletchford/systemless/commit/b165448b317acae1d3bf51ce94174265dd166d79))
* **gui:** decouple Metal presentation from emulation ([e03f4b0](https://github.com/benletchford/systemless/commit/e03f4b02440b20703644ea86d804cd42dcd948dc)), closes [#23](https://github.com/benletchford/systemless/issues/23)
* **gui:** present macOS frames with Metal ([ec589a8](https://github.com/benletchford/systemless/commit/ec589a825fa6cc7dd0015558317dc70a4af7f9f4))
* **gui:** present macOS frames with Metal ([35cef58](https://github.com/benletchford/systemless/commit/35cef58733c62aa77211188533e2d212129efae5))
* **gui:** skip unchanged Metal guest frames ([812e1a7](https://github.com/benletchford/systemless/commit/812e1a749009da7824d91b65b2dbfb0832e304ec))
* **gui:** skip unchanged Metal guest frames ([d2ab17c](https://github.com/benletchford/systemless/commit/d2ab17c062f7a51859c106f94caddd6a07eabcd0))
* **runner:** fast-forward capped GUI TickCount waits ([7b9b940](https://github.com/benletchford/systemless/commit/7b9b940424f89b8ad70ff9d270fcf082ee642147))
* **runner:** fast-forward capped GUI TickCount waits ([721ab96](https://github.com/benletchford/systemless/commit/721ab96cccf836afa156b787e6d183ef28ac7ea3))
## [0.1.132](https://github.com/benletchford/systemless/compare/v0.1.131...v0.1.132) (2026-07-12)
### Bug Fixes
* honor the system event mask when posting key-up events ([e81e949](https://github.com/benletchford/systemless/commit/e81e949e9bab24b8a806b59992891cf664cf19e7))
* suppress duplicate host keydown events ([38155a2](https://github.com/benletchford/systemless/commit/38155a2b6d3a015ec828588300eb7b58ac14980b))
* terminate exhausted Marathon terminal style insertions ([30f49a4](https://github.com/benletchford/systemless/commit/30f49a4d929c37ecd9e5c4de14b2ead5af420d89))