github KyoriPowered/adventure v4.10.0
🌏 Adventure 4.10.0

latest releases: v4.16.0, v4.15.0, v4.14.0...
2 years ago

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 return null
  • #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 and Title.Times
  • #660 - chore: 2022

Full Changelog: v4.9.1...v4.10.0

Don't miss a new adventure release

NewReleases is sending notifications on new releases.