You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FileWatcher now comes with out-of-the-box debouncing, which improves the performance of autoreloading and autosaving configurations ⚡, see Optimize the file watcher #148
A new Serialization/Deserialization framework is available in the serde package 🚀, see Serialization/deserialization revamped 🚀 #163.
Unlike the old ObjectConverter, the new ObjectSerializer and ObjectDeserializer 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 old ObjectConverter still works but is now deprecated. The goal is to remove the old conversion 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
Allow multiple spec conditions to be checked by @vaperion in Allow multiple spec conditions to be checked #151 (Note: this fix applies to the deprecated conversion package; the new serde package supports multiple @SerdeAssert conditions out of the box)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
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