|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). |
| 6 | +This project does NOT adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [0.14.0] - Unreleased |
| 9 | + |
| 10 | +### Added |
| 11 | +- New navigation system inspired by jetpack compose |
| 12 | +- Support for different inventory types like Anvil, and the ability to swap between them. See anvil gui example. |
| 13 | +- InventoryHolder system which manages switching between different inventories and manages viewers |
| 14 | +- Added some composables we created under MineInAbyss/MineInAbyss (ex. PlayerHead) |
| 15 | +- Back handler that pops navigation stack, or exits when empty by default |
| 16 | +- A basic `GuiyViewModel` class, and ability to register them with `viewModel { ... }`, and get them with `viewModel<MyViewModel>()` |
| 17 | + - These also provide a `viewModelScope` for correctly collecting state in sync with UI updates. |
| 18 | + - In the future, we plan to integrate with something like Koin for proper DI. Please note that currently ViewModels are tied to the composition as a whole, with an API for registering them per-screen coming later. |
| 19 | + - NOTE: Android's ViewModels do a lot under the hood, our goal is not to match behaviour perfectly but to provide enough functionality to follow architecture best practices. |
| 20 | +- Some new composition locals, including `LocalGuiyOwner` and `CurrentPlayer` getter for getting the first viewer for a running guiy instance. |
| 21 | + |
| 22 | +### Changed |
| 23 | +- `onClose` doesn't require a `reopen` call anymore, instead reopening on its own. Call `exit` explicitly to exit (the default behaviour.) |
| 24 | +- Updates some composables to use nicer callbacks, ex. Paginated/Scrollable |
| 25 | +- Players are now passed once on gui creation, not per Inventory screen |
| 26 | +- Major internal cleanup and refactoring, unfortunately this leads to some package names changing |
| 27 | + |
| 28 | +### Fixed |
| 29 | +- Flickering GUIs when switching screens |
| 30 | +- Mouse cursor resetting when switching screens of the same height |
| 31 | +- Use an immediate-style Dispatcher to let compose correctly finish recompositions in one loop |
| 32 | +- Double clicks being sent as well as two single click events with the default `clickable` modifier. This lead to unexpected extra clicks by default which are now fixed. |
0 commit comments