1.20.1-4.15.23
    - Made some internal changes to some logger messages.
    API Changes:
    - Added new config field type LongField.
    - ColorPreviewWidgets can now be instantiated with a custom size parameter.
    - Added convenience method to CrustMath for obtaining a RandomSource's seed (implementation dependent).
    - Moved over the PlayerVelocityWatcher utility from Special Mobs such that it can be used by other mods.
1.20.1-4.14.22
    - The config editor searchbar now draws highlights a bit prettier.
    API Changes:
    - Refactored Searchbar.Searchable into a separate interface entirely called ISearchable.
    - SearchableSelectionList highlight rendering is now handled per ISearchable entry rather than by the list itself.
    - Moved searchbar-related classes to new sub-package 'widget/field/searchbar'.
    - Added default method useWorldPosition() to IDebugShapeProvider to allow overriding centering shapes on the implementing object.
1.20.1-4.13.21
    - Added new structure utility block called "Feature Generator".
    - Dedicated servers are now forcibly crashed if Crust detects any broken/malformed configs.
    - Users now get prompted when trying to load a world from disk if any Crust-based configs are broken/malformed.
        - Can be disabled in clientside configs.
    - Config Editor searchbar highlight color is now configurable client-side.
    - Config Editor searchbar now supports using the up & down arrow keys to navigate search matches.
    API Changes:
    - Moved @OnClient annotation to API util package.
    - Redefined the intended use of @OnClient annotation.
    - Annotated AbstractConfigField#getWidgetProvider with @OnClient.
    - Overhauled AdvancementLoadEvent:
        - Now actually fires like intended on both client and dedicated server dist.
        - New abstraction layer to help modify most advancement data.
    - Added new config field types:
        - BlockStateField (singular state)
        - FuzzyKeyField
        - ValueCodecField
    - Added a new utility class related to ResourceLocations.
    - Moved GuiUtil from config client API package to client util package.
    - Reworked GuiUtil.TooltipPositioner(s) and refactored them into:
        - CENTER_Y (centers tooltip on Y position).
        - CENTER_X (centers tooltip on X position).
    - Removed createTooltipPositioner() override in SimpleTextureButton.
    - Some fields in TextWithSubtitle have been renamed for consistency.
    - Deprecated and marked some convenience methods in ClientConfigUtil for removal.
    - Calling DebugShapeRenderManager.register() is now thread-safe.
    - Added IClientConfigAccessor (accessible via API instance) which exposes some useful config values from Crust's client configs.
1.20.1-4.12.20
    API Changes:
    - Added getOrElse getter to FuzzyMapField.
1.20.1-4.11.20
    - DeferredAction.queue() can now be called safely from other threads than the main server thread.
    API Changes:
    - Added some convenience methods to NBTHelper for writing/reading Forge registry entries.
1.20.1-4.10.19
    - Fixed ForgeHooksMixin breaking outside development environment and crashing.
1.20.1-4.10.18
    - Fixed an issue with entities using config-driven attribute maps not retaining them if default attributes were changed during EntityAttributeModificationEvent.
    - List editor screen is now compatible with all list fields.
    API Changes:
    - Made ConfigDrivenAttributeModifierMap#FIELD publicly visible via getter "getField()".
    - Added a bunch of experimental config features (not quite ready yet).
1.20.1-4.9.17
    - Fixed startup crash that can be caused by mod-added game rules, but like for real this time (maybe).
1.20.1-4.9.16
    - Fixed startup crash that can be caused by mod-added game rules.
1.20.1-4.9.15
    - Added a search bar to the in game config editor.
    - Added config editor GUI for field types StringListField and PredicateStringListField.
    - Slightly modified the in game config editor appearance and improved tooltips.
    - Improved config warning/error feedback.
    - Fixed dimension_type environment.
    - Fixed day_time environment.
    - Magnet mode no longer works while spectating, and removed jittering (by default).
    - Destroy-item-on-pointer inventory button now works in all containers, not just the player inventory.
    - Overhaul direct config file read/write methods.
    API Changes:
    - Added simple config category implementation.
    - Added object holders for Crust's registry objects.
    - Deprecated Crust's registry object ID fields.
    - Config managers now maintain a mapping of spec names to config files for easier access.
    - Added sorted key mapping; used to make key mappings appear in a specified order in the GUI.
    - Added entity helper, initially just contains some entity type registering helpers.
    - Added fishhook entity designed for pulling entities that doesn't need a player in order to be used.
    - Reworked Crust's debug shape rendering utilities:
        - New shapes like circles, spheres, cylinders etc.
        - Separated client-only logic so that debug shape objects can exist on the server without problem.
        - Shapes must now be registered on the client and mapped to a IDebugShapeRenderer.
        - Added support for entities to draw Crust debug shapes.
1.20.1-4.8.14
    - Fixed IntField.RandomRange and DoubleField.RandomRange not having public getters for the internal min and max fields.
1.20.1-4.7.14
    API Changes:
    - Added helper methods to EnvironmentList and EnvironmentListField to check if conditions are empty.
1.20.1-4.6.14
    - Limited max string length of config field info comments for better readability in the config GUI.
    - Config GUI now properly shows if a config failed to initialize.
1.20.1-3.6.13
    - Added new "biome_tag" environment condition, replaces/deprecates "biome_category".
    - Fixed portal command not working when below y=0.
    - Fixed anchor positions for added buttons in pause and inventory screens.
    - Fixed GUIs having incorrect/dark shading in some cases.
    - PredicateStringList now prints a warning during loading when it filters out invalid strings.
    API Changes:
    - Deprecated IBlockEntityBBProvider; now opting to use IBlockEntityDebugShapeProvider instead.
            - Supports rendering other debug shapes than just line boxes.
    - Added simple helper constructors for int and double $RandomRange field containers.
    - Updated EntityEventHelper, deprecated hurt events.
    - PredicateStringList now throws an exception if you provide any invalid strings in its default value.
1.20.1-3.6.12
    - Fixed StringListField constructor passing on parameters in the wrong order to the "main" constructor.
    - Changed field "type" in StringListField to have protected visibility.
    - Updated Apocalypse difficulty accessor to do what it is supposed to in more recent versions of Apocalypse.
    - Updated required Apocalypse version range.
    - Fixed default position of the Crust config button in the pause menu being off.
1.20.1-2.5.11
    - Internal client configs are now initialized and loaded during appropriate events to avoid weird crashes.
1.20.1-2.5.10
    - Fixed default value entries getting parsed incorrectly, resulting in duplicate invalid entries being written.
1.20.1-2.5.9
    - Added config field type RegistryEntryValueList.
    - Updated icon for mob effect "weight".
    - Updated verbose description of BlockListField.
    - Fixed DimensionTypeEnvironment causing a crash if level registry is not "available" at the time of comparison.
    - Default values for EntityList is now lowest priority for best match.
1.20.1-2.4.8
    - Downgraded min required Forge version to 47.3.0.
    - Namespace wildcard entries now work properly.
        - Fixed for BlockList, EntityList and RegistryEntryList.
    - Added tag entries for EntityList.
1.20.1-2.3.7
    - Bumped min required Forge version to 47.3.10.
    API Changes:
    - Teeny tiny javadoc fixes.
    - Deprecated ConfigManager#create(String).
    - Deprecated ConfigManager#createSimple().
1.20.1-2.3.6
    - The BlockEntity bounding box render API now actually does something.
    - Introduced new client-side config file "render_settings".
    - Fixed sources jar manifest (missing version metadata and mixin config).
1.20.1-2.3.5
    - Mitigated potential for comod exceptions that were causing incompatibility with some mods.
    - Fixed default pause menu options button position.
    API changes:
    - Corrected outdated diamond and sea floor reference values.
    - Environment conditions terrain_depth, terrain_scale, and biome_category are now deprecated.
1.20.1-2.3.4
    - BREAKING CHANGE: Environment condition tests are now broken into required pos and no pos methods
        instead of one method with nullable pos. Required pos test throws an exception if unloaded.
            - This change is required to avoid world load deadlocks.
    - All added key bindings are now unbound by default.
    - Extra inventory buttons are now disabled by default.
    - Added Nether and End portal buttons to the default inventory buttons.
1.20.1-2.3.3
    - Fixed Crust key bindings not registering and showing up in the key binds GUI.
1.20.1-2.3.2
    - Made LazyRegistryEntryList a bit safer.
1.20.1-2.2.2
    - Fixed Minecraft version being included in the jar mod version.
1.20.1-2.2.1
    - Tag support for RegistryEntryList, LazyRegistryEntryList and BlockList.
1.20.1-2.1.1
    - API: Backwards compat for java.util.Random.
1.20.1-2.0.1
    - API: Fixed DoubleField and IntField methods that require RNG not using RandomSource.
1.16.5-1.2.1
    - Fixed CrustTomlWriter calling StringUtils#stripColor, crashing servers.
1.16.5-1.1.1
    - Magnet mode is now disabled by default.
1.16.5-1.1.0
    Feature changes:
    - Added the Weight and Vulnerability effects from Special Mobs.
    - Added "apocalypse_difficulty_or_time" environment.
    API/tool changes:
    - Fixed environment entry builder not working.
    - Added pooled call options for environment-sensitive weighted lists.
    - Removed set block flags and nbt constants (Forge provides these).
1.16.5-1.0.0
    - Initial release.