版本发布 8
<!-- Release notes generated using configuration in .github/release.yaml at v4.24.0 --> ## What's Changed ### ✨ Features * feature(api): Add a method to close an open dialog by @kezz in https://github.com/KyoriPowered/adventure/pull/1246 * Implement #canTranslate in GlobalTranslatorImpl and call #canTranslate of its sources by @ivi-kiwi in https://github.com/KyoriPowered/adventure/pull/1252 * Add a less verbose way of creating titles by @LaserSlime in https://github.com/KyoriPowered/adventure/pull/1272 * feature(api): Property default override SPI and flattener nesting limit property by @kezz in https://github.com/KyoriPowered/adventure/pull/1250 * Uppercase hex colors created by asHexColor to avoid item desyncs in Minecraft by @MrPowerGamerBR in https://github.com/KyoriPowered/adventure/pull/1277 ### 🐛 Fixes * Add `equals` to `VirtualComponent` by @Seggan in https://github.com/KyoriPowered/adventure/pull/1247 * fix: component flattener not popping styles in correct order by @diogotcorreia in https://github.com/KyoriPowered/adventure/pull/1255 * fix(api): fix removing mutated source from GlobalTranslator by @Emilxyz in https://github.com/KyoriPowered/adventure/pull/1276 * Avoid interpreting the "byte" suffix as a binary radix by @IllusionTheDev in https://github.com/KyoriPowered/adventure/pull/1241 ### 📚 Documentation * docs: Remove wiki.vg link from NBT javadoc by @kezz in https://github.com/KyoriPowered/adventure/pull/1251 ### Other * chore: Deprecate non-named UTF8ResourceBundleControl getter by @kezz in https://github.com/KyoriPowered/adventure/commit/00ebf2e198280bbff8bc56724c8d080018b597e6 ## New Contributors * @Seggan made their first contribution in https://github.com/KyoriPowered/adventure/pull/1247 * @diogotcorreia made their first contribution in https://github.com/KyoriPowered/adventure/pull/1255 * @Emilxyz made their first contribution in https://github.com/KyoriPowered/adventure/pull/1276 * @ivi-kiwi made their first contribution in https://github.com/KyoriPowered/adventure/pull/1252 * @LaserSlime made their first contribution in https://github.com/KyoriPowered/adventure/pull/1272 * @IllusionTheDev made their first contribution in https://github.com/KyoriPowered/adventure/pull/1241 * @MrPowerGamerBR made their first contribution in https://github.com/KyoriPowered/adventure/pull/1277 **Full Changelog**: https://github.com/KyoriPowered/adventure/compare/v4.23.0...v4.24.0
This is a hotfix release to resolve some issues in the recently released v4.22.0. ## What's Changed ### 🐛 Fixes * fix: Ensure TagStringIO accepts hetergeneous lists in all reader methods by @kezz in https://github.com/KyoriPowered/adventure/pull/1244 * fix: Make custom click events hold NBT payloads by @kezz in https://github.com/KyoriPowered/adventure/pull/1243 * fix(key): Ensure keys with invalid namespaces throw the correct exception by @kezz in https://github.com/KyoriPowered/adventure/pull/1245 **Full Changelog**: https://github.com/KyoriPowered/adventure/compare/v4.22.0...v4.23.0
<!-- Release notes generated using configuration in .github/release.yaml at main/4 --> ## What's Changed ### ✨ Features * feature(api): Rewrite ComponentFlattener to remove recursion and add a configurable maximum nesting depth by @kezz in https://github.com/KyoriPowered/adventure/pull/1237 * 1.21.6 by @kezz in https://github.com/KyoriPowered/adventure/pull/1238 * feat(nbt): TagStringIO Enhancements by @kermandev in https://github.com/KyoriPowered/adventure/pull/1239 * Improved support for hetergeneous lists by @mworzala in https://github.com/KyoriPowered/adventure/pull/1242 ### 🐛 Fixes * fix(api): Always fire bossBarNameChanged by @kezz in https://github.com/KyoriPowered/adventure/pull/1230 * Typo fix in PrideTag.java by @Stxellxa in https://github.com/KyoriPowered/adventure/pull/1233 * fix(api): Don't throw an exception if a PointersSupplier has no parent by @kezz in https://github.com/KyoriPowered/adventure/pull/1232 ### 📚 Documentation * chore(audience): update javadoc for playSound by @Timongcraft in https://github.com/KyoriPowered/adventure/pull/1235 ### Other * Render translatable arguments and children by @TonytheMacaroni in https://github.com/KyoriPowered/adventure/pull/1226 ## New Contributors * @Stxellxa made their first contribution in https://github.com/KyoriPowered/adventure/pull/1233 * @Timongcraft made their first contribution in https://github.com/KyoriPowered/adventure/pull/1235 * @kermandev made their first contribution in https://github.com/KyoriPowered/adventure/pull/1239 * @mworzala made their first contribution in https://github.com/KyoriPowered/adventure/pull/1242 **Full Changelog**: https://github.com/KyoriPowered/adventure/compare/v4.21.0...v4.22.0
<!-- Release notes generated using configuration in .github/release.yaml at main/4 --> Adventure 4.21.0 adds preliminary support for new component features in 1.21.5, and some minor bugfixes. We recommend all users update. ## What's Changed ### ✨ Features * Use DecorationMap for style builder by @TonytheMacaroni in https://github.com/KyoriPowered/adventure/pull/1209 * Add NumberBinaryTag#numberValue by @GliczDev in https://github.com/KyoriPowered/adventure/pull/1188 * feat(nbt): Add stream API for compound/list tags by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1208 * 1.21.5 component changes by @Gerrygames in https://github.com/KyoriPowered/adventure/pull/1168 * feature(minimessage): Set the target to hold the locale of the translation by default by @kezz in https://github.com/KyoriPowered/adventure/pull/1216 * feat(nbt): update number parsing for 1.21.5 by @kennytv in https://github.com/KyoriPowered/adventure/pull/1167 * feature(api): Skip style builder creation on merge by @kezz in https://github.com/KyoriPowered/adventure/pull/1219 * feat(nbt): Initial implementation of heterogeneous list handling by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1218 ### 🐛 Fixes * fix(minimessage): rename `numeric` to `string` by @tjalp in https://github.com/KyoriPowered/adventure/pull/1211 ## New Contributors * @TonytheMacaroni made their first contribution in https://github.com/KyoriPowered/adventure/pull/1209 * @tjalp made their first contribution in https://github.com/KyoriPowered/adventure/pull/1211 * @Gerrygames made their first contribution in https://github.com/KyoriPowered/adventure/pull/1168 **Full Changelog**: https://github.com/KyoriPowered/adventure/compare/v4.20.0...v4.21.0
Adventure 4.20.0 is a feature release focused on translation improvements. The [MiniMessage translator](https://docs.advntr.dev/minimessage/translator.html) allows easily expressing translation values in the MiniMessage format, and the whole translation system has had a revamp to be more flexible. ## What's Changed ### ✨ Features * feature(api): Silly micro optimisations for the mm color tag by @kezz in https://github.com/KyoriPowered/adventure/pull/1177 * feature(minimessage): Check for colors before parsing phases by @kezz in https://github.com/KyoriPowered/adventure/pull/1180 * feature(api): Improve handling of component children and component translating by @kezz in https://github.com/KyoriPowered/adventure/pull/1181 * feature: MiniMessageTranslator by @kezz in https://github.com/KyoriPowered/adventure/pull/972 * feature(api, minimessage): Replace TranslationRegistry with a generic TranslationStore by @kezz in https://github.com/KyoriPowered/adventure/pull/1182 * feature(minimessage): Add context argument and unit tests by @kezz in https://github.com/KyoriPowered/adventure/pull/1185 * Add TagStringIO#asString for any tag by @GliczDev in https://github.com/KyoriPowered/adventure/pull/1192 * feat(text-serializer-commons): split into new module by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1193 ### ⚙️ Fixes * fix(minimessage): Carry over target into context deserialize calls by @kezz in https://github.com/KyoriPowered/adventure/pull/1179 ## New Contributors * @GliczDev made their first contribution in https://github.com/KyoriPowered/adventure/pull/1192 **Full Changelog**: https://github.com/KyoriPowered/adventure/compare/v4.19.0...v4.20.0
<!-- Release notes generated using configuration in .github/release.yaml at main/4 --> Adventure 4.19.0 is a small feature release, primarily to introduce an option controlling MiniMessage's emission of virtual components. ## What's Changed ### ✨ Features * feature(api): Replace text ignoring hover events by @kezz in https://github.com/KyoriPowered/adventure/pull/1153 * Configurable virtual component emission by @lynxplay in https://github.com/KyoriPowered/adventure/pull/1164 ### 🐛 Fixes * fix(api): add missing ScopedComponent overrides by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1161 **Full Changelog**: https://github.com/KyoriPowered/adventure/compare/v4.18.0...v4.19.0
Adventure 4.18 has a few new features to improve expressiveness, plus support for the new shadow colour style attribute added in Minecraft 1.21.4. ## What's Changed ### ✨ Features * feat(minimessage): Pride tag by @kezz in https://github.com/KyoriPowered/adventure/pull/1079 * feat(nbt): add isEmpty to CompoundBinaryTag/ListBinaryTag by @RealBauHD in https://github.com/KyoriPowered/adventure/pull/1088 * feat(mini-message): add Formatter#joining by @tahmid-23 in https://github.com/KyoriPowered/adventure/pull/938 * feat: shadow colors by @kashike in https://github.com/KyoriPowered/adventure/pull/1124 * feat(api): virtual components by @kashike in https://github.com/KyoriPowered/adventure/pull/842 ### 🐛 Fixes * ensure numbers where we expected booleans parse correctly. by @456dev in https://github.com/KyoriPowered/adventure/pull/1108 * fix(text-serializer-gson): correctly handle removed data components by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1145 ## New Contributors * @456dev made their first contribution in https://github.com/KyoriPowered/adventure/pull/1108 * @tahmid-23 made their first contribution in https://github.com/KyoriPowered/adventure/pull/938 **Full Changelog**: https://github.com/KyoriPowered/adventure/compare/v4.17.0...v4.18.0
<!-- Release notes generated using configuration in .github/release.yaml at main/4 --> ## What's Changed ### ✨ Features * feat(text-minimessage): Show ANSI rendering of parsed components in tests by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1042 * feat(minimessage): Add target to deserialization for contextual tags by @kezz in https://github.com/KyoriPowered/adventure/pull/1051 * feat(api): Pointers supplier by @kezz in https://github.com/KyoriPowered/adventure/pull/429 * 1.20.5 by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1055 ### 🐛 Fixes * fix(text-minimessage): Handle larger raninbow phases correctly by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1041 * fix: Allow for case-insensitivity in legacy serializer, closes #1043 by @kezz in https://github.com/KyoriPowered/adventure/pull/1044 * fix(api): Only trigger bossbar listeners if flags actually changed by @zml2008 in https://github.com/KyoriPowered/adventure/pull/1067 * fix(nbt): `CompoundBinaryTag#getBoolean` ignores false values when default value is true by @kashike in https://github.com/KyoriPowered/adventure/commit/e0edf0fb33a9f8f7eb210b5fb36e9ca8e8be2219 * fix(nbt): `ListBinaryTag` is weakly immutable by @kashike in https://github.com/KyoriPowered/adventure/commit/2e612aa8280360479ce61dc8855634a8ec1d7eb0 **Full Changelog**: https://github.com/KyoriPowered/adventure/compare/v4.16.0...v4.17.0