* A lot of general fixes
* Improved documentation with examples
* [`pyboy.tick(10, True)`](https://docs.pyboy.dk/#pyboy.PyBoy.tick) now takes two optional parameters:
* `n` number of frames to progress
* `render` whether to render the screen on the last processed frame
* `pyboy.screen_image()` moved to `pyboy.screen.image`
* The "botsupport" module has been removed, and most of API is moved to the PyBoy object
* [`pyboy.button(‘a’)`](https://docs.pyboy.dk/#pyboy.PyBoy.button) can be used to send input, and will automatically release after 1 frame
* [`pyboy.button_press(‘a’)`](https://docs.pyboy.dk/#pyboy.PyBoy.button_press) allows for manual control of input
* [`pyboy.button_release(‘a’)`](https://docs.pyboy.dk/#pyboy.PyBoy.button_release) allows for manual control of input
* [`pyboy.memory[0x100:0x150] = 123`](https://docs.pyboy.dk/#pyboy.PyBoy.memory) replaces all three `pyboy.get/set/override_memory_value` and extends it with an option to specify bank
* [`pyboy.hook_register(bank, address, callback, context)`](https://docs.pyboy.dk/#pyboy.PyBoy.hook_register) registers a callback at a specific point in your game. Used for fine-grained tracking of events and control of the game
* [`pyboy.symbol_lookup(symbol)`](https://docs.pyboy.dk/#pyboy.PyBoy.symbol_lookup) to look up address for a symbol to use with memory read/write
* “dummy” and “headless” windows have been merged into “null” window because of the new `pyboy.tick`
* [`pyboy.game_wrapper`](https://docs.pyboy.dk/#pyboy.PyBoy.game_wrapper) Game wrappers are now automatically loaded and accessible through the game_wrapper property
* Remove fitness scores from game wrappers
* `pyboy.game_area()` is a shortcut for `pyboy.game_wrapper.game_area()`
* `pyboy.game_area_collision()` is a shortcut for `pyboy.game_wrapper.game_area_collision()`
* `pyboy.game_area_dimensions(…)` can be used to configure game_area
* `pyboy.game_area_mapping(…)` can apply a mapping to all game area tiles. I.e. simplify the tiles, or zero-out uninteresting tiles
* OpenAI Gym/Gymnasium has been removed from PyBoy. It will be [replaced by an example on the Wiki](https://github.com/Baekalfen/PyBoy/wiki/Using-PyBoy-with-Gym) instead
* [`pyboy.memory_scanner`](https://docs.pyboy.dk/#pyboy.PyBoy.memory_scanner) allows to isolate memory address of interest
* Support for 768 CGB tiles vs. 384 in DMG mode