rust_minifb/CHANGELOG.md

256 lines
10 KiB
Markdown
Raw Normal View History

2016-01-30 06:16:00 +11:00
# Changelog
This project follows semantic versioning.
2023-02-18 23:10:27 +11:00
### v0.24 (2023-02-18)
- [fixed] Windows: Unable to use F10 key
- [fixed] set byposition flag when removing menus (Thanks piksel!)
- [fixed] fixed compilation for x11 32-bit mode (Thanks HBehrens!)
- [fixed] X11 window names not supporting UTF-8 (Thanks edarogh!)
- [fixed] `get_window_position` for multiscreen setup on macOS (Thanks AnderasOM!)
- [fixed] Using minifb on multiple threads under x11 works and doesn't crash (Thanks to konnorandrews for suggestion!)
- [Added] ARM and AARCH64 Windows Support (Thanks smb123w64gb!)
2022-04-20 03:38:52 +10:00
### v0.23 (2022-04-19)
- [fixed] wayland: Fix key character callback & Reduce wayland dependencies (Thanks vmedea!)
- [fixed] Use coercion on types failing compilation on 64 bit raspbian bullseye (Thanks wtfuzz!)
- [added] WASM support. Thanks dc740 and tversteeg! See https://github.com/dc740/minifb-async-examples for example.
2022-03-27 19:09:45 +11:00
### v0.22 (2022-03-27)
- [fixed] Updated docs to make it a bit more clear that only one of `update_with_buffer` or `update` should be used for updating a window.
2022-03-27 18:56:01 +11:00
### v0.21 (2022-03-27)
- [fixed] Holding down a key on x11 would no repeat correctly
- [fixed] Windows dependency cleanups (Thanks Arnab Animesh Das!)
- [fixed] Fixed mouse button being "stuck" when moved out side of window, released and then moved by in on Windows (Thanks Arnab Animesh Das for bug report!)
- [fixed] Memory-map the keymap FD on Wayland to fix EOF error (Thanks Greg Depoire--Ferrer!)
- [added] getter for window position (Thanks Andreas Neukoetter!)
- [fixed] Fix clippy lints under windows (Thanks Kevin K!)
- [added] Add `set_icon()` method to set a window icon at runtime (Thanks Kevin K!)
- [added] inputcallback: add a callback for key events and key_handler: add a callback for key events (Thanks xobs and vemoo!)
- [fixed] macOS: Fix segmentation fault when resizing window. (Thanks KaDiWa!)
- [fixed] Various x11 and wayland fixes, version updates (Thanks vemoo!)
2021-11-29 04:49:41 +11:00
### v0.20 (2021-11-28)
- [API BREAKAGE] Changing return types of get_keys from Option<Vec<Key>> to Vec<Key> (Thanks Zij-IT!)
- [fixed] get_scroll_wheel() would get "stuck" on macOS. (Thanks NikoUY for bug report!)
2021-03-23 17:43:12 +11:00
### v0.19.3 (2021-03-23)
- [fixed] Fixed typos in description (Thanks hiqua!)
- [fixed] update wayland to 0.28 and small cleanup (Thanks xMAC94x!)
- [fixed] Bump xkbcommon-sys to 0.7.5
- [fixed] wayland missing cursor (Thanks dc740!)
- [fixed] windows: use c_void from winapi (Thanks xobs!)
2021-01-20 06:33:13 +11:00
### v0.19.2 (2021-01-18)
2021-03-23 17:43:12 +11:00
TODO
2021-01-20 06:33:13 +11:00
2020-09-23 05:00:36 +10:00
### v0.19 (2020-09-22)
- [fixed] Removed dummy logging
2020-09-16 16:49:47 +10:00
### v0.19 (2020-09-16)
2020-09-16 16:47:42 +10:00
- [added] Added char_callback example on how to capture data.
- [added] Support for topmost on Windows (Thanks phillvancejr!)
- [fixed] ARM (Raspberry Pi) now builds and runs. (Thanks derpeter!)
- [changed] Removed a bunch of dependencies not needed anymore (Thanks RazrFalcon!)
2020-08-14 19:56:29 +10:00
### v0.18 (2020-08-14)
- [fixed] get_released_keys wasn't working under Wayland.
2020-07-09 21:50:16 +10:00
### v0.17 (2020-07-09)
- [changed] unix renamed to posix. (Thanks LoganDark)
- [changed] bunch of Linux/x11 fixes by Antonino Siena. Such as Transparency support, Borderless, Cursor Visibility. Thanks!
- [changed] use `std::ptr::null_mut()` to Windows `PeekMessageW` it fix alt-tab stall on Window 7. Thanks lynnux for the report!
- [added] Implemented std::error::Error for minifb::Error. (Thanks Christofer Nolander!)
2020-04-05 15:34:50 +10:00
### v0.16 (2020-04-05)
- [added] Wayland support. (Big thanks to Antonino Siena add this support with assistance by Cole Helbling!)
- [added] Added `get_released_keys` (Thanks to Alex Melville!)
- [added] Added Topmost/Always on Top functionality to macOS (Thanks phillvancejr!)
- [fixed] Removed left over logging on macOS (Thanks phillvancejr!)
2020-01-22 08:13:19 +11:00
### v0.15.3 (2020-01-21)
- [Added] On macOS NSView (MTKView) is supplied with raw_window_handle now
2020-01-22 07:35:53 +11:00
### v0.15.2 (2020-01-21)
- [fixed] Fixed forever block on macOS when using `update` and not `update_with_buffer`
2019-12-27 23:28:49 +11:00
### v0.15.1 (2019-12-27)
- [fixed] Fixed access to raw_window_handle()
### v0.15 (2019-12-16)
2019-12-16 19:49:52 +11:00
- [API BREAKAGE] - `update_with_buffer` now always take width and height parameters.
- [added] scale_mode in WindowOptions now allow for aspect correct scaling, center of non-scaled buffers and more.
2019-12-16 19:49:52 +11:00
- [added] Added `limit_update_rate(..)` in order to reduce CPU usage and not hammer the native system calls.
- [changed] x11 now uses C for it's scaling in software mode in order to always have opts on even in debug build.
- [changed] Several fixes with rescaling on all platforms
2019-12-16 18:27:44 +11:00
- [changed] on x11 some window mangers will resize a non-resizable windows and minifb handles this now correctly.
- [fixed] Cursor was behaving bad on Windows. This has now been fixed
- [known issues] There are some flickering and various issues when resizing on most platforms. PRs/ideas welcome for this.
### v0.14 (2019-12-03)
- [changed] Deprecated update_with_buffer on favor of update_with_buffer_size. The idea is that a size in of the buffer will be more robust and allow for aspect scaling as well.
- [changed] Improved macOS resizing support.
- [changed] Better modifier handling on macOS.
- [changed] Moved CI over to Github Actions
- [changed] Formatted all code with rustfmt
- [changed] Documentation improvments (Thanks Gary Guo & Arif Roktim!)
- [fixed] 'attempt to subtract with overflow' bug (Thanks Venceslas!)
- [fixed] Window close handling & missing Alt keys for X11 (Thanks Gary Guo!)
- [added] Juila example added (Thanks mishazawa!)
- [added] Add support for raspberry pi (Thanks Florian Blasius!)
- [added] Added support for raw-window-handle trait
2019-08-31 01:43:42 +10:00
### v0.13 (2019-08-30)
- [changed] unix: replaced scale functions with macro and added missing invocations (Thanks Johannes Stölp!)
2019-07-21 19:06:04 +10:00
### v0.12 (2019-07-21)
- [changed] Linux/Unix backend rewritten in Rust (thanks Chris West!)
- [changed] WinAPI updated to 0.3 (Thanks Richard Hozák!)
- [changed] Bump orbclient to 0.3.20 on Redox, remove alpha handling hacks (Thanks Nagy Tibor!)
2018-12-20 17:22:36 +11:00
### v0.11.2 (2018-12-19)
- [added] Window.is_key_released
2018-11-14 07:41:00 +11:00
### v0.11.1 (2018-11-13)
- [fixed] Fixed bad window size in menu example
### v0.11 (2018-10-23)
- [changed] macOS now uses Metal for rendering the buffer.
2018-08-10 17:23:30 +10:00
### v0.10.7 (2018-08-10)
Thanks to Lukas Kalbertodt for these changes!
- [added] Debug impls for public types
- [fixed] Removed several `doc(hidden)`
2018-05-19 06:14:53 +10:00
### v0.10.6 (2018-05-18)
- [added] Scale x16 and x32 added for Unix
2018-05-05 23:21:46 +10:00
### v0.10.5 (2018-05-05)
- [added] Scale x8 added for Unix
- [fixed] Auto scaling now works correct if scale up is >= screen size
### v0.10.4 (2018-01-08)
- [fixed] Bumped kernel32 to 0.2.2 due to compile errors on Windows. Thanks to Thomas Versteeg for this fix.
2017-08-16 06:09:31 +10:00
### v0.10.1 (2017-08-15)
- [fixed] Typo in the Redox implementation was fixed after changes in 0.10.0
2017-08-11 20:57:18 +10:00
### v0.10.0 (2017-08-11)
- [changed] ```update_with_buffer``` Now make sures that input buffer will be large enough. As of this it now returns ```Result<>``` to indicate the status of the call.
2017-08-01 00:39:02 +10:00
### v0.9.2 (2017-07-31)
- [fixed] Bumped x11-dll to 2.14 as it was causing issues on nightly.
2017-04-02 20:24:21 +10:00
### v0.9.1 (2017-04-02)
- [fixed] Correct link to docs in Cargo.toml
### v0.9.0 (2016-08-02)
- [added] ```get_unscaled_mouse_pos``` Can be used the get actual mouse pos on a scaled window
2016-08-01 02:06:50 +10:00
### v0.8.4 (2016-07-31)
- [fixed] Mac: Fixed crash on large window sizes
2016-08-01 02:06:50 +10:00
2016-07-29 19:05:30 +10:00
### v0.8.3 (2016-07-29)
- [fixed] Mac: "Plonk sound" when pressing keys
- [fixed] Mac: incorrect size for ``get_size()``
2016-07-09 04:29:21 +10:00
### v0.8.2 (2016-07-07)
- [fixed] Fixed so keypad keys works on Linux
2016-07-08 22:32:44 +10:00
### v0.8.1 (2016-07-07)
- [fixed] Character callback wouldn't get called on Mac and Linux
- [fixed] Resize cursors on Windows was swapped
2016-06-24 21:14:46 +10:00
### v0.8.0 (2016-06-24)
- [added] ```window.set_title``` Can now change title after creation
- [added] ```window.set_cursor_style``` Can now change the style of the cursor with a number of (OS supported types)
- [added] Added cursor_title example code to show the newly added features
2016-05-28 02:19:09 +10:00
### v0.7.1 (2016-05-27)
- [fixed] Character callback wouldn't get called on Mac.
### v0.7.0 (2016-05-12)
- [changed] - Fully rewrote the Menu API. See the documentation/menu example for the changes.
- [added] - Added ```Window::get_unix_menus``` to get data access to menus on Linux/x11
### v0.6.0 (2016-05-01)
- [added] added ```get_size()``` to retrive the size of the window.
### v0.5.2 (2016-04-29)
- [fixed] On Mac shortcuts using F1-F12 wasn't working correctly.
2016-04-26 02:18:33 +10:00
### v0.5.1 (2016-04-25)
- [fixed] ```get_window_handle``` would return an invalid value on Unix. Now fixed.
2016-03-05 03:36:28 +11:00
### v0.5.0 (2016-03-04)
- [changed] - Proper Errors which uses ```std::Error``` as base. ```Window::new``` uses this but the API itself hasn't changed.
- [added] - Menu support on Mac and Windows. See the Menu API functions [here](http://prodbg.com/minifb/minifb/struct.Window.html#method.add_menu)
- [known issue] - ```remove_menu``` doesn't work on Windows [issue](https://github.com/emoon/rust_minifb/issues/16)
- [known issue] - On Mac when running an application from terminal on has to switch to another application and back to get menu focus. [issue](https://github.com/emoon/rust_minifb/issues/17)
Merged window-opts to master commit 53e9cd45567a1308fdbd2e46763e15b2a3fa3d4c Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:31:38 2016 +0100 Correct header for v0.4.0 commit fcf64d5dfad0796fee16ce8985e66d1b3e82c5a4 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:30:12 2016 +0100 More cleanup commit b7f4b187569a753656f19a74b78d8ada3fd95b70 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:29:23 2016 +0100 Minor cleanup commit 7392cd4a5aaad7f0d8332082c75d6cbc41d50ca6 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:28:06 2016 +0100 Updated example added Changelog link commit 236a82883a68e576ceb1e38a54b0a18fdc2e4465 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:24:58 2016 +0100 Updated readme commit e6bc68721513ca66c5566a19e6bfad33875b3280 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:20:42 2016 +0100 Doc fixes commit edfd688f045764b66c944d4aa616c6d48246816d Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:20:35 2016 +0100 Updated with 0.4.0 release info commit 784628fa9a1de93280592e634b522fd916a7588a Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:45:37 2016 +0100 Fixed bad comment commit 2c6d8730b566193b573afb5dc95a82987d1c4ce4 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:37:52 2016 +0100 Linux support for WindowOptions commit cbf7c17c3a92d676f5707095781071016e8b90e1 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:05:10 2016 +0100 Updated Windows version with WindowOptions commit ed1254245384e3e64c082a8368cbbe4a9f679efa Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:32:04 2016 +0100 Added get_window_handle commit e4a15f98c70facda7e7b2f30ba95a42091fa078c Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:30:34 2016 +0100 Cleanup + links commit 7dadb090d1037eade525093e2a541c99940e6a3a Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:25:41 2016 +0100 And again commit 70bdb0f88812e12bf9ca9adc55c1e52cc36c3ef9 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:24:44 2016 +0100 Try link again commit b4b7b3c4cda1d958e8f9cf6a2418db68ac32bcc5 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:21:54 2016 +0100 Some cleanup commit fb9845bae37f6ce9ba309b8a57128ce8c426fbca Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 13:16:23 2016 +0100 Renamed resizeable to resize commit 89c5af826612dbd887855dca3937e99856c9fcf2 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 12:59:57 2016 +0100 Working on making Windows a bit more generic * Added WindowOptions that can configure how the Window should look and behave better (resize, title, borderless) * Renamed update -> update_with_buffer * Added update which doesn't take a buffer (used to updated the window without buffers)
2016-02-01 04:34:05 +11:00
### v0.4.0 (2016-01-31)
This release breaks some of the API by changing names and parameters to some functions.
- [changed] ```Window::new(...)``` now takes WindowOptions struct to configure the creation of the Window. [doc](http://prodbg.com/minifb/minifb/struct.Window.html#method.new)
- [changed] ```window.update()``` Doesn't take a buffer anymore. See ```window.update_with_buffer``` [doc](http://prodbg.com/minifb/minifb/struct.Window.html#method.update)
- [added] ```window.update_with_buffer()``` Old update version that takes buffer as input parameter [doc](http://prodbg.com/minifb/minifb/struct.Window.html#method.update_with_buffer)
- [added] ```window.get_window_handle()``` Returns the native handle (os dependant) [doc](http://prodbg.com/minifb/minifb/struct.Window.html#method.get_window_handle)
### v0.3.1 (2016-01-29)
Merged window-opts to master commit 53e9cd45567a1308fdbd2e46763e15b2a3fa3d4c Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:31:38 2016 +0100 Correct header for v0.4.0 commit fcf64d5dfad0796fee16ce8985e66d1b3e82c5a4 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:30:12 2016 +0100 More cleanup commit b7f4b187569a753656f19a74b78d8ada3fd95b70 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:29:23 2016 +0100 Minor cleanup commit 7392cd4a5aaad7f0d8332082c75d6cbc41d50ca6 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:28:06 2016 +0100 Updated example added Changelog link commit 236a82883a68e576ceb1e38a54b0a18fdc2e4465 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:24:58 2016 +0100 Updated readme commit e6bc68721513ca66c5566a19e6bfad33875b3280 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:20:42 2016 +0100 Doc fixes commit edfd688f045764b66c944d4aa616c6d48246816d Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:20:35 2016 +0100 Updated with 0.4.0 release info commit 784628fa9a1de93280592e634b522fd916a7588a Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:45:37 2016 +0100 Fixed bad comment commit 2c6d8730b566193b573afb5dc95a82987d1c4ce4 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:37:52 2016 +0100 Linux support for WindowOptions commit cbf7c17c3a92d676f5707095781071016e8b90e1 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:05:10 2016 +0100 Updated Windows version with WindowOptions commit ed1254245384e3e64c082a8368cbbe4a9f679efa Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:32:04 2016 +0100 Added get_window_handle commit e4a15f98c70facda7e7b2f30ba95a42091fa078c Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:30:34 2016 +0100 Cleanup + links commit 7dadb090d1037eade525093e2a541c99940e6a3a Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:25:41 2016 +0100 And again commit 70bdb0f88812e12bf9ca9adc55c1e52cc36c3ef9 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:24:44 2016 +0100 Try link again commit b4b7b3c4cda1d958e8f9cf6a2418db68ac32bcc5 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:21:54 2016 +0100 Some cleanup commit fb9845bae37f6ce9ba309b8a57128ce8c426fbca Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 13:16:23 2016 +0100 Renamed resizeable to resize commit 89c5af826612dbd887855dca3937e99856c9fcf2 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 12:59:57 2016 +0100 Working on making Windows a bit more generic * Added WindowOptions that can configure how the Window should look and behave better (resize, title, borderless) * Renamed update -> update_with_buffer * Added update which doesn't take a buffer (used to updated the window without buffers)
2016-02-01 04:34:05 +11:00
- [fixed] ```get_mouse_pos(Clamp)``` clamps to ```[(0, 0) - (width - 1, height - 1)]``` instead of ```(width, height)```
2016-01-30 06:16:00 +11:00
### v0.3.0 (2016-01-29)
Merged window-opts to master commit 53e9cd45567a1308fdbd2e46763e15b2a3fa3d4c Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:31:38 2016 +0100 Correct header for v0.4.0 commit fcf64d5dfad0796fee16ce8985e66d1b3e82c5a4 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:30:12 2016 +0100 More cleanup commit b7f4b187569a753656f19a74b78d8ada3fd95b70 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:29:23 2016 +0100 Minor cleanup commit 7392cd4a5aaad7f0d8332082c75d6cbc41d50ca6 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:28:06 2016 +0100 Updated example added Changelog link commit 236a82883a68e576ceb1e38a54b0a18fdc2e4465 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:24:58 2016 +0100 Updated readme commit e6bc68721513ca66c5566a19e6bfad33875b3280 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:20:42 2016 +0100 Doc fixes commit edfd688f045764b66c944d4aa616c6d48246816d Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 18:20:35 2016 +0100 Updated with 0.4.0 release info commit 784628fa9a1de93280592e634b522fd916a7588a Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:45:37 2016 +0100 Fixed bad comment commit 2c6d8730b566193b573afb5dc95a82987d1c4ce4 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:37:52 2016 +0100 Linux support for WindowOptions commit cbf7c17c3a92d676f5707095781071016e8b90e1 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 15:05:10 2016 +0100 Updated Windows version with WindowOptions commit ed1254245384e3e64c082a8368cbbe4a9f679efa Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:32:04 2016 +0100 Added get_window_handle commit e4a15f98c70facda7e7b2f30ba95a42091fa078c Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:30:34 2016 +0100 Cleanup + links commit 7dadb090d1037eade525093e2a541c99940e6a3a Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:25:41 2016 +0100 And again commit 70bdb0f88812e12bf9ca9adc55c1e52cc36c3ef9 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:24:44 2016 +0100 Try link again commit b4b7b3c4cda1d958e8f9cf6a2418db68ac32bcc5 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 14:21:54 2016 +0100 Some cleanup commit fb9845bae37f6ce9ba309b8a57128ce8c426fbca Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 13:16:23 2016 +0100 Renamed resizeable to resize commit 89c5af826612dbd887855dca3937e99856c9fcf2 Author: Daniel Collin <daniel@collin.com> Date: Sun Jan 31 12:59:57 2016 +0100 Working on making Windows a bit more generic * Added WindowOptions that can configure how the Window should look and behave better (resize, title, borderless) * Renamed update -> update_with_buffer * Added update which doesn't take a buffer (used to updated the window without buffers)
2016-02-01 04:34:05 +11:00
This release adds support for mouse input. See the documentation and the examples for usage
- [added] [get_mouse_pos](http://prodbg.com/minifb/minifb/struct.Window.html#method.get_mouse_pos)
- [added] [get_mouse_down](http://prodbg.com/minifb/minifb/struct.Window.html#method.get_mouse_down)
- [added] [get_scroll_wheel](http://prodbg.com/minifb/minifb/struct.Window.html#method.get_scroll_wheel)
2016-01-30 06:16:00 +11:00