Skip to content

Releases: MineInAbyss/guiy-compose

v0.14.0

20 Sep 04:00
Compare
Choose a tag to compare

[0.14.0] - 2025-09-19

Added

  • New navigation system inspired by jetpack compose
  • Support for different inventory types like Anvil, and the ability to swap between them. See anvil gui example.
  • InventoryHolder system which manages switching between different inventories and manages viewers
  • Added some composables we created under MineInAbyss/MineInAbyss (ex. PlayerHead)
  • Back handler that pops navigation stack, or exits when empty by default
  • A basic GuiyViewModel class, and ability to register them with viewModel { ... }, and get them with viewModel<MyViewModel>()
    • These also provide a viewModelScope for correctly collecting state in sync with UI updates.
    • 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.
    • 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.
  • Some new composition locals, including LocalGuiyOwner and CurrentPlayer getter for getting the first viewer for a running guiy instance.

Changed

  • onClose doesn't require a reopen call anymore, instead reopening on its own. Call exit explicitly to exit (the default behaviour.)
  • Updates some composables to use nicer callbacks, ex. Paginated/Scrollable
  • Players are now passed once on gui creation, not per Inventory screen
  • Major internal cleanup and refactoring, unfortunately this leads to some package names changing

Fixed

  • Flickering GUIs when switching screens
  • Mouse cursor resetting when switching screens of the same height
  • Use an immediate-style Dispatcher to let compose correctly finish recompositions in one loop
  • 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.

v0.14.0-dev.3

20 Sep 03:53
Compare
Choose a tag to compare
v0.14.0-dev.3 Pre-release
Pre-release

🐛 Bug Fixes

  • Ignore DOUBLE_CLICK events in clickable modifier causing double inputs, creating a separate onClickEvent modifier for old behavior. - (324f667)

📚 Documentation

🔍 Other

  • Log new composition locals - (93a1837)
  • Log ViewModel addition - (10336ab)
  • Add changelog, write out 0.14 release notes - (4ae2ffa)

v0.14.0-dev.2

20 Sep 00:40
Compare
Choose a tag to compare
v0.14.0-dev.2 Pre-release
Pre-release

🐛 Bug Fixes

  • Reuse inventories when height is the same to stop cursor from moving back to center of screen - (fc3c121)

🚜 Refactor

  • Move title updating logic to InventoryHolder since it can manage updating it at the correct time (after inventory has been opened) - (fc3c121)

v0.14.0-dev.1

19 Sep 02:31
Compare
Choose a tag to compare
v0.14.0-dev.1 Pre-release
Pre-release

🐛 Bug Fixes

  • Use an immediate style dispatcher for guiy composition - (e97572c)
  • Flickering previously opened screen when navigating back on inventory close - (e97572c)
  • Correctly exit guild menu when backDispatcher has no active listeners - (07fd95b)

🚜 Refactor

  • Move viewer tracking logic to InventoryHolder, change menu reopening logic to prevent flickering old ui when pressing back (menus are reopened for all online players once per second if they have not been explicitly exited) - (1f1cfb6)

v0.14.0-dev.0

18 Sep 01:46
Compare
Choose a tag to compare
v0.14.0-dev.0 Pre-release
Pre-release

⚙️ Miscellaneous Tasks

🚜 Refactor

⛰️ Features

  • Back handler (gui esc) - (1f877f2)

🚜 Refactor

  • Reimplement navigation system - (1f877f2)

⛰️ Features

  • Allow consuming click events so they do not forward to parents - (b8642a2)
  • Allow creating two inventory composables at once, so long as one is not inside the other, explicitly deny the latter - (b8642a2)

🐛 Bug Fixes

  • Coerce page/line passed to Paginated/Scrollable menus, use onValueChange functions as callbacks - (524a78c)

⛰️ Features

  • Anvil inventory with example - (a191aab)

🐛 Bug Fixes

  • Correctly handle onClose per inventory - (45bb078)
  • Swap to single InventoryHolder to better navigate between different inventories - (a191aab)

🚜 Refactor

  • Reopen guis automatically, but call exit by default - (45bb078)

⛰️ Features

  • Text and PlayerHead components for common UI elements - (e912567)
  • RememberMiniMsg function, used in more places - (e912567)

🐛 Bug Fixes

  • Inventory holder inconsistent behavior on plugin inventory close - (e912567)
  • ActiveInventory in GuiyInventoryHolder not using MutableStateFlow - (e912567)
  • Correctly close GUI when calling inventory.close() - (6747077)

🚜 Refactor

  • Start cleaning up commonly reused logic like setOf(player) - (6747077)

⚙️ Miscellaneous Tasks

v0.13.0

16 Aug 17:15
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Remove resolutionStrategy block from pluginManagement - (8f78a45)

⚙️ Miscellaneous Tasks

v0.13.0-dev.4

19 May 16:30
b551e4d
Compare
Choose a tag to compare
v0.13.0-dev.4 Pre-release
Pre-release

🚜 Refactor

v0.13.0-dev.3

08 Mar 19:09
Compare
Choose a tag to compare
v0.13.0-dev.3 Pre-release
Pre-release

⛰️ Features

  • Back handler (gui esc) - (1f877f2)

🚜 Refactor

  • Reimplement navigation system - (1f877f2)

v0.13.0-dev.2

02 Mar 22:14
Compare
Choose a tag to compare
v0.13.0-dev.2 Pre-release
Pre-release

⛰️ Features

  • Allow consuming click events so they do not forward to parents - (b8642a2)
  • Allow creating two inventory composables at once, so long as one is not inside the other, explicitly deny the latter - (b8642a2)

🐛 Bug Fixes

  • Coerce page/line passed to Paginated/Scrollable menus, use onValueChange functions as callbacks - (524a78c)

v0.13.0-dev.1

28 Feb 04:39
Compare
Choose a tag to compare
v0.13.0-dev.1 Pre-release
Pre-release

⛰️ Features

  • Anvil inventory with example - (a191aab)

🐛 Bug Fixes

  • Correctly handle onClose per inventory - (45bb078)
  • Swap to single InventoryHolder to better navigate between different inventories - (a191aab)

🚜 Refactor

  • Reopen guis automatically, but call exit by default - (45bb078)