Releases: KyoriPowered/adventure
🌏 Adventure 4.10.0
Adventure 4.10.0 is a feature release of Adventure, providing (at long last!) a stable release of the MiniMessage serialization format, as well as a variety of quality-of-life improvements.
To get started with MiniMessage, take a look at its documentation: https://docs.adventure.kyori.net/minimessage/, and try it out with the Web UI!
Thanks to everyone who contributed to making this release happen -- it's been a long time coming!
Additions ✨
- #622 - Merge minimessage
- #490 - api: add TextDecoration#withState and add missing null pointer check
- #449 - api: Rename Title.Times.of
- #444 - Add decorations(Map) to component/style builders
- #472 - Add TriState toBoolean helper methods
- #480 - extra-kotlin: Added more extensions and enabled explicit API
- #495 - Add Tristate method to TextDecoration.State
- #482 - Add standard join configurations
- #479 - extra-kotlin: Add some
JoinConfiguration
related methods - #501 - Abstract out style methods to StyleWriter/Reader
- #645 - feat(key): expose a Comparator for Key
- #617 - api: Introduce Component.textOfChildren as a replacement for TextComponent.ofChildren
- #652 - chore: Rename some static constructer methods
- #650 - feat(api): Internal configuration
- #698 - New builder
- #700 - key: make Key extend Namespaced
- #488 -
Component::applyFallbackStyle
helper method - #717 - text-minimessage: Limit characters allowed in tag names
MiniMessage changes since 4.2.0-SNAPSHOT
Because MiniMessage had a fairly extended development process, there have been several notable changes (some breaking) since earlier development phases that may affect any testers of the older API.
This is just a summary -- see the documentation for a full overview of the latest API.
- #635 - text-minimessage: Properly handle colour override depth reductions
- #663 - chore: Remove parse method
- #657 - Introduce a method by which to create raw replacements
- #671 - text-minimessage: Use a Consumer rather than Appendable for debug output
- #672 - minimessage: Unify transformations and placeholders
- #658 - text-minimessage: add deserialization method returning parsed tree
- #681 - fix: Require all input to be non-null
- #682 - minimessage: Add a reset tag via a parser directive
- #687 - Add a new tag for line breaks (
<br>
) - #701 - Allow parsing with custom Tag Resolvers
- #703 - Rework the MiniMessage serializer to consolidate behavior into resolvers
- #708 - text-minimessage: Expose the root node type to API
- #707 - text-minimessage: Allow tags to be closed in one tag
- #662 - Warn when input contains legacy formatting codes (#515)
- #674 - Implement TransitionTag
Fixes 🐛
- #485 - Add more non-null value validations
- #451 - api: Add inVersion to all @ApiStatus.ScheduledForRemoval annotations
- #493 - Fix accidental float and double NaN parsing
- #497 - Fix premature SNBT parsing as number
- #498 - Fix unquoted string being parsed as double
- #500 - Fix return type on #decorate method in ScopedComponent
- #481 - fix #447 by allowing
deserializeOr
to returnnull
- #633 - api: Resolve duplication of children when performing text replacement
- #641 - api: Use initial style when replacement-rendering a hover event
- #647 - util: Add a range check for HSVLike
Minor changes
- Bump JetBrains annotations to 23.0.0
serializer-configurate4
: Bump Configurate dependency to 4.1.2- #474 - Clarify Audience#filterAudience(Predicate) docs
- #642 - Add tests for
Title
andTitle.Times
- #660 - chore: 2022
Full Changelog: v4.9.1...v4.10.0
🌏 Adventure 4.9.3
🌏 Adventure 4.9.2
This is a small backport of some issues discovered in the development process of 4.10.0
Fixes 🐛
🌏 Adventure 4.9.1
🌏 Adventure 4.9.0
Adventure 4.9.0 is a feature release of Adventure, providing new API, some nice performance improvements for the GSON serializer, and a few bug fixes.
Additions ✨
- #365 - api:
Audience#forEachAudience
andAudience#filterAudience
- #339 - api: Component iterator
- #344 - api: Advanced
Component
joining - #373 - text-serializer-gson: Migrate remaining serializers to use
TypeAdapter
s - #406 - api: Add
TitlePart
- #426 - api: Add
Locale
pointer - #404 - api: Add
Keybind
interface - #308 - api: Add support for 'compacting` components
Fixes 🐛
- #430 - fix: Check for null supplier
- #421 - api: Merge style of full match when replaced
- #407 - api: Make sure pointers()is overridden in
ForwardingAudience.Single
Dependency updates
- Bump
examination
from 1.1.0 to 1.3.0 - Bump JetBrains annotations to 22.0.0
serializer-configurate3
: Bump Configurate dependency to 3.7.2serializer-configurate4
: Bump Configurate dependency to 4.1.1
🌏 Adventure 4.8.1
🌏 Adventure 4.8.0
Additions ✨
- #334 - api: Add support for new
separator
field in Minecraft 1.17 - #390 - Migrate from
checker-qual
to JetBrains annotations - #328 - api: add
Sound.Source.Provider
interface - #332 - api: Allow passing the replacement
MatchResult
to continuation predicates - #327 - api: Expose ComponentLike -> Component conversion method
- #371 - key: Improve key method javadocs
- #352 - api: Add the ability to query an Audience for a value based on a Pointer key
- #393 - api: Add Pointer query to Single
- #361 - api: Add Translatable interface
- #343 - api: Allow platforms to apply implementation hooks when creating
ComponentSerializer
s - #379 - api: Add ability to unset decorations during component construction
- #329 - api: Allow stopping a sound using the original
Sound
- #316 - api: Add support for playing sound following an "emitter"
- #215 - api: Add
TextColor.lerp
to blend between two colours
Fixes 🐛
🌏 Adventure 4.7.0
Deprecations 🧓
- #301 - api: Mark ScoreComponent's
value
as deprecated since it is no longer supported as of 1.16 - #307 - api: Deprecate Component#detectCycle (#285)
Additions ✨
- #259 - api: Add
contains
method to translation registries - #296 - serializer-gson: Add deserializer for JsonElement
- #305 - api: Add serializer methods that can process
null
values (#221) - #298 - serializer-gson: Add serializer to JsonElement
- #300 - api: Nag when somebody does something naughty
- #306 - build: Add extra metadata to jar manifests (#290)
- #302 - api: Introduce new concept of a component flattener
Fixes 🐛
🌏 Adventure 4.6.0
Additions ✨
- #273 - feature(nbt): allow merging compound tags via
this.put(that)
- #280 - api: Add
asHSV
toRGBLike
and use HSV for color comparisons inNamedTextColor.nearestTo
- #283 - extra-kotlin
- #284 - Added ZLIB compression support for NBT
- #288 - api: Add
Keyed
overloads to hover event types - #289 - api: Add a method to create a TextColor from an HSVLike
- #292 - api: Add methods to join components using a collector
- #294 - build: Update examination to 1.1.0
- #283 - extra-kotlin
- #231 - Customize debugger output
Fixes 🐛
- #291 - text-serializer-legacy: Don't insert redundant resets