## Reminder of breaking changes in 0.6.x
* `ValidatedEntityAttribute` is removed
* `Custom[Widgets]` are moved from the internal widget package to the custom package
* Several widgets and other classes have been deleted
* `PopupWidget` has many deprecations, and probably at least one breaking change despite my best efforts. Deprecations scheduled for removal 0.7.0
* As of 0.6.3, `ActiveButtonWidget` is unused and deprecated, marked for removal by 0.7.0
* As of 0.6.3, `TextlessActionWidget` is unused and deprecated, marked for removal by 0.7.0
* Possibly more, I didn't take great notes
## As of 0.6.0, 1.20.4 and 1.20.6 will no longer be receiving active updates.
-------------------------------------
### Additions
* `@RootConfig` annotation for marking a config as a "root" config. The settings will appear "inline" with the landing page config buttons, instead of in its own sub-GUI. All other aspects of the config interaction remain unchanged; loading, saving, calling from, etc. so an existing config can be marked as root with no breakage.
* Added a greyed-out placeholder button for configs that aren't yet loaded but have been promised via the fabric.mod.json or mods.toml.
* New `ConfigApi.isScreenOpen`/`ConfigApiJava.isSceenOpen` methods for checking if a Config GUI is currently open.
* `DynamicListWidget` has a new `scrollToEntry` method for scrolling directly to a list element.
* `ConfigApi.openScreen` now supports passing in scope args for scrolling to them and opening them as applicable. If you have a config `my_mod:config` with a Object setting `coolObject`, passing `my_mod.config.coolObject` to `openScreen` will open the config GUI, scroll to the object setting, and open the object editing popup.
* New `EntryOpener` interface for entries that have something to open on request. This is typically used for validation that has a popup edit menu.
### Changes
* The networking api methods `registerLenient[side]` are now ported to all versions for usage parity.
* If a config is loaded after screens for a mod have been initialized, the manager will be invalidated and rebuilt (as needed) with the new total loaded config set considered.
* `ValidatedColor` popups now have a submit button for the hex string textbox, and the alpha edit box will be completely missing if the color doesn't support transparency.
### Fixes
* GUI keys are no longer pressable "past" an open popup, and multiple of the same popup can no longer be opened with keybinds.
* `ConfigGroup` now has an optional constructor parameter to start the config collapsed.
* Ingredients and Colors now work as keys/values in validated collections.
* Ingredients can no longer be interacted with outside of worlds.
* The screen manager now locks while constructing a requested screen to prevent recursive screen building if the construction process somehow calls for opening the same screen.
* `ValidatedColor` properly shows and accepts only 6-digit hex when it doesn't support transparency.
* Popups for `ValidatedIdentifier` and `ValidatedTagKey` properly focus their textboxes on open again, and their textboxes are aligned properly again.
* Fixed Go-to menu scroll bar disappearing if you were dragging it and moved the mouse off of the menu. The scrollbar disappearing when the menu isn't hovered is intended behavior.
* Right click menus properly pass clicks "past" themselves, allowing actions to be taken when "clicking off" of them (including "moving" the menu to the newly clicked spot.)
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }