3.7.0: NightConfig rejuvenated ✨ #171
TheElectronWill
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Major changes
FileWatcher
now comes with out-of-the-box debouncing, which improves the performance of autoreloading and autosaving configurations ⚡, see Optimize the file watcher #148FileConfig
instances are now actually thread-safe and work better with autoreload, which should prevent most of the corruption issues 🛡️, see Improves thread-safety and ensures that FileConfigs reload properly #152serde
package 🚀, see Serialization/deserialization revamped 🚀 #163.Unlike the old
ObjectConverter
, the newObjectSerializer
andObjectDeserializer
are modular and extensible: you can register your own serializers and deserializers. Deserializers (config -> object) are chosen based on the generic type of the field to set and the type of the config value to deserialize. This allows for fine-grained deserialization. The oldObjectConverter
still works but is now deprecated. The goal is to remove the oldconversion
package in version 4.0.0.NightConfig 3.7.0 is backward-compatible with previous releases, but I encourage you to upgrade to 3.7.0 in order to benefit from its many improvements.
Enhancements
conversion
package; the newserde
package supports multiple@SerdeAssert
conditions out of the box)serde
Deserializer, automatically apply some "risky" conversions (e.g. long -> int) when it is not lossy, close ConfigSpec defineInRange doesn't play nicely with Long values #119Config
storage inConfigSpec
, by @PaintNinja in Allow customConfig
storage inConfigSpec
#168Bug fixes
ObjectConverter
by @TheElectronWill in Serialization/deserialization revamped 🚀 #163New Contributors
Config
storage inConfigSpec
#168Thank you everyone!
Full Changelog: v3.6.7...v3.7.0
This discussion was created from the release 3.7.0: NightConfig rejuvenated ✨.
Beta Was this translation helpful? Give feedback.
All reactions