From 81d09aefca7121f750c16c76a4ebf802ac356cb4 Mon Sep 17 00:00:00 2001 From: Chrys Chrysanthemum Date: Tue, 7 Jul 2026 13:49:54 +1000 Subject: [PATCH] chore: Bump version and update CHANGELOG.md. --- CHANGELOG.md | 59 +------------------ .../greenhouse/config/gradle/Properties.kt | 2 +- 2 files changed, 2 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71d7fd8..4443866 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,58 +1 @@ -This is the v3.0.0 Release of Greenhouse Config, which is additionally the first release to be hosted on the Greenhouse -Forgejo instead of GitHub. -Greenhouse Config has been rewritten from the ground up for a better experience. - -## Build Specific Changes - -- There is now only one runtime JAR, with Xplat, Fabric and NeoForge JAR contents included in the universal Greenhouse - Config JAR. -- Depending on Greenhouse Config has been rewritten, please read the README.md for more information. -- Added `set` method to `GreenhouseConfigHolder`. Which sets the config value in-memory. This value can later be - manipulated, saved, and/or synced. -- Simplified equality checks for configs to just be the name and side of the config. - - This should serve to prevent inequality crashes internally. - -## Changes - -- Updated mod icon and description. -- All package structure has been reworked to use `lgbt.greenhouse.config.api.v3` for API, and - `lgbt.greenhouse.config.impl` for impl. -- Greenhouse Config now operates off a builder system. - - Methods to build configs may be found in `GreenhouseConfigHolder` related interfaces. - - These interfaces are found within the `lgbt.greenhouse.config.api.v3` package. - - Raw RecordCodecBuilder/StreamCodec/DataFixerUpperBuilder based operations are still supported via any Greenhouse - Config Holder Builder. These are generally less encouraged in comparison to the builder. -- Added `GreenhouseInheritedConfigHolder`. This can be used to inherit values from a Greenhouse Config Holder or - Greenhouse Config Holder Builder meant for a common client to a specifically sided environment such as the client and - the server, as well as allowing for adding new values on top of these values. - - The `SPLIT` side definition of the old config has been removed from the V3 API to better compatibility with split - source-set based environments. -- Added `GreenhouseConfigDataFixerBuilder`, which can be used to create data fixers for your config to update between - different schema versions. -- `GreenhouseConfigDataFixerBuilder` now supports defining previous config formats, these will be detected based on the - config's schema version and will rewrite the file to the new format when applicable. -- `LateHolder` and `LateHolderSet` have been rewritten to better integrate into `GreenhouseConfigHolderBuilder`. The - `Late` interface has been removed. -- Included built-in data fixes for ease of use when fixing config values. - - These are `GreenhouseConfigRelocateFieldsFix`, `GreenhouseConfigRemoveFieldsFix`, and - `GreenhouseConfigSetFieldsFix` and are found within the `lgbt.greenhouse.config.v3.dfu.fix` package. -- Schema versions are now stored within a hidden `.greenhouse_config_meta` folder instead of the config's file - attributes. - - Configs with no schema version will be treated as V0, but will only ever be fixed in this case if the config has - any errors. - - A fallback for the file attribute is included to correctly load configs made with older Greenhouse Config - versions. -- Events within Greenhouse Config now use [Yumi](https://github.com/YumiProject/yumi-minecraft-foundation-library/) for - a better loader agnostic experience. - - All config related events are within `lgbt.greenhouse.config.api.v3.event.GreenhouseConfigEvents`. - - Greenhouse Config specific phases are within `lgbt.greenhouse.config.api.v3.event.GreenhouseConfigEventPhases`. -- Swapped config reading/writing to use included libraries within - the [Polyamory](https://git.greenhouse.lgbt/Modding/polyamory) Project. - - You will no longer need to depend on a separate project for your specific language. - - Polyamory only supports JSONC within this current release. -- Removed Night Config support. Removing TOML, HOCON and YAML language support. - - TOML will be re-added before release whenever I'm more ready to write it. - - YAML might be re-added if there's enough demand. If so, it'll be a low priority change. - - HOCON will not be re-added due to being more of a liability and generally having low demand. -- The implementation has been entirely rewritten from the ground up. It has been tested in a lot more conditions and - should generally be a lot more stable and less messy. +- Fixed a ClassTweaker being missing, causing a crash on Fabric. diff --git a/build_logic/src/main/kotlin/lgbt/greenhouse/config/gradle/Properties.kt b/build_logic/src/main/kotlin/lgbt/greenhouse/config/gradle/Properties.kt index 5f9a8d0..c211c6d 100644 --- a/build_logic/src/main/kotlin/lgbt/greenhouse/config/gradle/Properties.kt +++ b/build_logic/src/main/kotlin/lgbt/greenhouse/config/gradle/Properties.kt @@ -1,7 +1,7 @@ package lgbt.greenhouse.config.gradle object Properties { - val MOD_VERSION = mapModVersion("3.0.0") + val MOD_VERSION = mapModVersion("3.0.1") const val FRIENDLY_MINECRAFT_VERSION = "26.2.x" const val JAVA_VERSION = 25 -- 2.51.2