Skip to content

Releases: Incendo/cloud

1.8.2

28 Feb 22:12
1.8.2
487067b
Compare
Choose a tag to compare

Fixed

  • Fabric: Published jar was not properly remapped and errored on startup in 1.8.1

1.8.1

22 Feb 04:25
1.8.1
Compare
Choose a tag to compare

Fixed

  • Core: Fixed last argument always being treated as greedy in suggestions (#428)
  • Core: Remove redundant at literal in docs (formatting fix) (#427)

Changed

  • Core: Improve ParameterInjectorRegistry#registerInjector JavaDoc (#423)
  • Fabric: Exposed permissions API in apiElements to match old behavior when consumers update to loom 1.1 (which also fixes api
    guardian being missing from the classpath)

1.8.0

13 Dec 18:30
1.8.0
Compare
Choose a tag to compare

Added

  • Core: Added CommandBuilderApplicable and Command.Builder#apply(CommandBuilderApplicable) (#409)
  • Core: Expose failure reason when flag parsing fails (#380)
  • Core: Allow registering injectors to ParameterInjectorRegistry using a class predicate instead of just a class (#402)
  • Core: Experimental option to allow flags to be parsed and suggested anywhere after the last literal in a command chain (#395)
  • Core: New Filter interface used by FilteringCommandSuggestionProcessor, allowing custom filter behavior (#410)
  • Core: Helper to get the root index help topic (#415)
  • Bukkit/Paper: Full support for Minecraft 1.19.3 (#412)

Fixed

  • Core: Greedy arguments are now able to suggest after a space in the input, and will receive the full concatenated input
    instead of just the queue head (#414)
  • Core: Fixed invalid suggestions when parsing of argument fails (#401)
  • Core: Fixed commands not being removed from command collection on unregister (#408)
  • Annotations: Fix argument annotation name not being processed (#397)
  • Brigadier: Further fixes for suggestions on old versions of Minecraft
  • Brigadier: Fixed handling of GREEDY_FLAG_YIELDING string arguments
  • Minecraft-Extras: Fixed wrong color codes in TextColorArgument (#407)
  • Minecraft-Extras: Removed double space when paginating with a blank help query
  • Javacord: Fixed regex issue with certain prefixes (#400)

Changed

  • Default suggestion processor ignores case when checking starts with (#410)
  • Deprecated newBuilder argument builder static factories, added builder factories to align with conventions for new
    arguments (#419)
  • Core: Improve nullability annotations on generics in CommandContext (#405)
  • Core: Made injection order of ParameterInjectorRegistry consistent (#402)
  • Bukkit/Paper: Rewrite Bukkit entity selector arguments using WrappedBrigadierParser instead of Bukkit API
  • Fabric: Updated for Minecraft 1.19.3, dropping support for previous versions (#411)
  • Minecraft: Default suggestion processor now removes the part of a suggestion which is before the last user typed space in
    the input, allowing for full sentence suggestions more easily, especially combined with other fixes in this update (#410)

1.7.1

26 Aug 18:51
1.7.1
Compare
Choose a tag to compare

Added

  • Bukkit/Paper: Full support for Minecraft 1.19.1 and 1.19.2

Fixed

  • Core: Fix unregistering wrong node in some cases (#389)
  • Bukkit/Paper: Fix ItemStackPredicateArgument reflection
  • Bukkit/Paper: Fix Brigadier completions on Minecraft 1.13.2
  • Bukkit/Paper: Fix unregistering commands with newer versions of Commodore

1.7.0

19 Jun 05:54
1.7.0
Compare
Choose a tag to compare

Notes

Command Deletion

This release adds the ability to delete commands when using supported platform implementations (JDA, javacord, Bukkit, Paper & PircBotX).

This feature has limited support when using Bukkit/Paper. Command deletion does work. However, command reloading is still (and there are currently no plans for this to change) unsupported. Use it at your own risk.

Annotations

Do note the addition of the annotation processor. You can find installation instructions here. Instructions about how to utilise @CommandContainers will be added to the documentation soon. However, the gist of it can be found in the @CommandContainer JavaDoc. Furthermore, if you do use the annotation processor, you may find that your @CommandMethod annotated methods have some compile-time validation. This system will be expanded upon in the future, so feel free to suggest more features in the Issue Tracker.

Changes

Added

  • Core: Allow for setting a custom CaptionVariableReplacementHandler on the command manager (#352)
  • Core: Add DurationArgument for parsing java.time.Duration (#330)
  • Core: Add delegating command execution handlers (#363)
  • Core: Add builder() getter to Command.Builder (#363)
  • Core: Add flag yielding modes to StringArgument and StringArrayArgument (#367)
  • Core: Add apiguardian @API annotations (#368)
  • Core: Deprecate prefixed getters/setters in CommandManager (#377)
  • Core: Add repeatable flags (#378)
  • Annotations: Annotation string processors (#353)
  • Annotations: @CommandContainer annotation processing (#364)
  • Annotations: @CommandMethod annotation processing for compile-time validation (#365)
  • Add root command deletion support (core/pircbotx/javacord/jda/bukkit/paper) (#369,
    #371)
  • Bukkit/Paper: Full support for Minecraft 1.19

Fixed

  • Core: Fix missing caption registration for the regex caption (#351)
  • Core: Fix NPE thrown on empty command tree (#337)
  • Annotations: Fix MutableCommandBuilder Java/Kotlin interoperability issues (#342)

Changed

  • Fabric: Updated for Minecraft 1.19 (no longer supports older versions) (#356)
  • Paper: Improved KeyedWorldArgument suggestions (#334)
  • Minecraft-Extras: Support sender-aware description decorators in MinecraftHelp (#354)

1.6.2

28 Feb 21:01
1.6.2
7c6a01e
Compare
Choose a tag to compare

Fixed

  • Fix incorrect inputQueue usage in some default argument types

Changed

  • Bukkit: Update for Minecraft 1.18.2

1.6.1

18 Dec 12:18
1.6.1
e187a1c
Compare
Choose a tag to compare

Fixed

  • Fix concurrent cause of execution exception not being wrapped right (#326)
  • Paper: Fix handling of empty slash buffer in async suggestion listener (#327)
  • Fix StringParser sometimes removing from input queue on failure

1.6.0

02 Dec 10:10
1.6.0
4df07c0
Compare
Choose a tag to compare

Added

  • Kotlin: New module cloud-kotlin-coroutines: Support for suspending command handlers in builders and the Kotlin builder DSL
  • Kotlin: New module cloud-kotlin-coroutines-annotations: Support for suspending annotated command functions using AnnotationParser<C>.installCoroutineSupport()
  • Flags can be bound to a permission
  • Paper: Implement KeyedWorldArgument for matching worlds by their namespaced key
  • Annotations: Parser parameter annotations are now also parsed for flags (#315)

Changed

  • Added executeFuture to CommandExecutionHandler which is now used internally. By default, this delegates to the old
    execute method
  • Added @Liberal annotation to mark boolean arguments as liberal when using the annotation parser (#288)
  • Annotations: Apply builder modifiers from class annotations (#303)
  • Annotations: Add default value to @Argument, which will force the parser to infer the argument name from the parameter name
  • Annotations: @CommandMethod can now be used to annotate a class, allowing for a common literal prefix on all annotated command methods in that class. (#301)

Fixed

  • Bukkit: Permission checking and syntax string for Bukkit '/help' command
  • And/OrPermission factory method of did not preserve the conditional tree
  • Formatting of literal arguments with no siblings in StandardCommandSyntaxFormatter
  • Replaced improper usages of TypeToken#toString in error messages
  • Fixed unhandled exceptions being swallowed when AsynchronousCommandExecutionCoordinator is configured with Synchronous Parsing enabled (#307)

1.5.0

05 Jul 10:26
1.5.0
ed6cbf3
Compare
Choose a tag to compare

Added

  • @Quoted annotation for the String argument (#239)
  • Expose min and max values on numerous number aruments (#255)
  • CommandArgument.TypedBuilder, a variant of CommandArgument.Builder designed for subclassing, that returns a self type
  • MappedArgumentParser and ArgumentParser#map for creating mapped argument parsers
  • Helper methods for mapping values/failures of ArgumentParseResults (ArgumentParseResult#mapParsedValue, ArgumentParseResult#flatMapParsedValue, and ArgumentParseResult#mapFailure)
  • JDA: Role argument parser (#219)
  • Brigadier: WrappedBrigadierParser for wrapping Brigadier ArgumentTypes as cloud ArgumentParsers
  • Bukkit: Implement parser for ProtoItemStack (#257)
  • Bukkit: Implement parsers for ItemStackPredicate and BlockPredicate (#259)
  • Bukkit: Support for Mojang mapped servers (#267)
  • Fabric: Fabric implementation added (#223)
  • Minecraft-Extras/Bukkit/Paper/Velocity: AudienceProvider.nativeAudience, MinecraftHelp.createNative , BukkitCommandManager.createNative , PaperCommandManager.createNative, CloudInjectionModule.createNative helper methods for Audience sender types (#240)

Changed

  • Long argument parser is now public (#229)
  • JDA: Add isolation system to JDA user argument (#220)
  • Bukkit: Use Command instead of TabCompleteEvent on Bukkit
  • Bukkit: Minecraft 1.17 support added

Deprecated

  • JDA: Deprecated old UserParser that did not take an isolation parameter (#220)

Fixed

  • Tuple implementations now do not throw an error when using the toArray method (#222)
  • Argument parser for long types was not registered (#229)

1.4.0

16 Jan 08:19
Compare
Choose a tag to compare

Added

  • Predicate command filters to the help system (#187)
  • Allow flags to contain compound arguments (#192)
  • Allow for components in exceptions and meta data (#200)
  • Location2DArgument (#201)
  • Expose the Command which led to InvalidCommandSenderExceptions (#204)
  • Expose the CommandContext which led to CommandExecutionExceptions (#204)
  • Helper methods for command flags to MutableCommandBuilder (#205)
  • CommandFlag accepting getters to FlagContext (#206)
  • More abstract description concept (#207)
  • Predicate permissions (#210)
  • Injection services (#211)
  • Sponge v7 support (#212)
  • Logical AND and OR operations for CommandPermissions (#213)

Changed

  • Allow command argument names to include _ and - (#186)
  • Make it easier to use translatable components with MinecraftHelp (#197)
  • Show "No result for query" when a multi-help topic is empty
  • Use the method+field annotation accessor rather than the method accessor when injecting method parameters

Deprecated

  • Description, and everything using Description directly (#207)
  • ParameterInjectorRegistry#injectors (#211)

Fixed

  • Issue where suggestions were shown multiple times when using Brigadier (#184)
  • Issue where the command manager was in the wrong state if no commands had been registered (#196)
  • Issues with JDA (#198) (#199) (#214)
  • Console suggestions for Bukkit