Releases: Incendo/cloud
Cloud 2.0
Cloud 2.0 is a complete rewrite of the Cloud command framework. Major refactoring to both internal components and the public API has taken place in order to allow for things that were previously very cumbersome, if not outright impossible.
While too many changes have been made to list them all, there is a non-exhaustive changelog available here which lists the major changes. You may also find the 2.0 beta release notes here.
The documentation has been rewritten and is available at https://cloud.incendo.org. You are encouraged to contribute to the documentation effort 😄 For further help and discussions you're free to join our Discord!
Packages & Group IDs
Cloud no longer uses cloud.commandframework
as the base package, we instead use org.incendo
. The same thing goes for the Maven group ID. This makes it very easy to spot whether a project is using Cloud 1.0 or Cloud 2.0.
Repositories & Versioning
The platform implementations are no longer housed in the same repository as the core modules. We have also started versioning the different components separately.
Important
This stable release does not mean that the platform modules are ready for stable releases.
- cloud - main repository
- cloud-minecraft - cloud implementations for minecraft
- cloud-minecraft-modded - cloud implementations for modded minecraft
- cloud-discord - cloud implementations for discord
- cloud-spring - cloud implementation for spring-shell
- cloud-processors - extra pre- & postprocessors
- cloud-build-logic - gradle plugin for building cloud
- cloud-docs - documentation sources
2.0.0-rc.2
Cloud 2.0.0 Release Candidate 2
This second release candidate fixes a few oversights and adds some minor APIs.
What's Changed
- fix(core): Add generics to CommandComponent-accepting Command.Builder methods by @jpenilla in #737
- feat(core): Extract interface from MappedArgumentParser by @jpenilla in #742
- fix(core): correctly forward component preprocessing failures by @Citymonstret in #744
- chore(deps): Update dependency org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin to v2 by @renovate in #740
- chore(deps): Update coroutines to v1.8.1 by @renovate in #734
- feat(core): Add helpers for mapping ArgumentParseResults by @jpenilla in #745
Full Changelog: 2.0.0-rc.1...2.0.0-rc.2
2.0.0-rc.1
Cloud 2.0.0 Release Candidate 1
Bar any major unforeseen issues, we plan to release version 2.0.0 of Cloud core in the coming weeks.
Cloud v1 has reached EoL, so if you haven't started updating your projects to v2 yet, now is a great time to do so. We will be pushing platform betas that make use of this release candidate shortly.
What's Changed
- chore(deps): Update errorprone to v2.27.1 by @renovate in #724
- Fix dynamic defaults and predicate permissions being invoked with wrong sender types by @jpenilla in #728
- Fix issues with CommandContainerVisitor on JDK 21 and improve error reporting by @jpenilla in #731
- Don't re-verify after deleting root nodes by @jpenilla in #735
- chore(deps): Update dependency org.checkerframework:checker-qual to v3.43.0 by @renovate in #727
- chore(deps): Update dependency org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin to v1.9.24 by @renovate in #730
- Fix multi-word flag suggestions by @jpenilla in #736
Full Changelog: 2.0.0-beta.5...2.0.0-rc.1
2.0.0-beta.5
What's Changed
- chore(deps): Update errorprone to v2.26.1 by @renovate in #703
- feat(core): Add ParserContributor to enable registering default parser mappings via services by @jpenilla in #704
- feat(core): Remove implements ParserDescriptor from TypedCommandComponent by @jpenilla in #709
- feat(core): Add CommandComponent.Builder factories that accept a name and ParserDescriptor by @jpenilla in #707
- chore: Flag building cleanup by @jpenilla in #708
- chore(core): Remove currentComponent from CommandContext by @jpenilla in #717
- feat(core): Add getter for parsed command to CommandContext by @jpenilla in #718
- feat(core): Replace compound arguments with specialized aggregate parser builders by @jpenilla in #719
- feat(core): improve aggregate direct mappers by @jpenilla in #720
- chore(deps): Update gradle/wrapper-validation-action action to v3 by @renovate in #721
- Support suspending parsers. by @portlek in #715
Full Changelog: 2.0.0-beta.4...2.0.0-beta.5
2.0.0-beta.4
What's Changed
- chore(deps): Update errorprone to v2.25.0 by @renovate in #688
- fix(core): requirement checks for a permitted node following a not-permitted node by @jpenilla in #691
- Add back configurable suggestion mapper to command manager by @jpenilla in #694
- chore(deps): Update dependency org.incendo:cloud-build-logic to v0.0.13 by @renovate in #698
- chore(deps): Update dependency com.google.truth:truth to v1.4.2 by @renovate in #700
- chore(deps): Update coroutines to v1.8.0 by @renovate in #686
- chore(deps): Update dependency org.jetbrains.dokka:dokka-gradle-plugin to v1.9.20 by @renovate in #701
- chore(deps): Update dependency org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin to v1.9.23 by @renovate in #702
Full Changelog: 2.0.0-beta.3...2.0.0-beta.4
2.0.0-beta.3
What's Changed
- chore(deps): Update dependency org.incendo:cloud-build-logic to v0.0.12 by @renovate in #683
- Allow parsing multiple instances by @masmc05 in #669
- chore(deps): Update immutables to v2.10.1 by @renovate in #689
- chore(deps): Update dependency com.google.truth:truth to v1.4.1 by @renovate in #687
- Allow returning
? extends Suggestion
or? extends Iterable<? extends Suggestion>>
from suggestion providers by @jpenilla in #690
New Contributors
Full Changelog: 2.0.0-beta.2...2.0.0-beta.3
2.0.0-beta.2
What's Changed
- chore(deps): Update plugin versions to v0.51.0 by @renovate in #657
- chore(deps): Update dependency io.leangen.geantyref:geantyref to v1.3.15 by @renovate in #663
- Fix changelog link by @Sparky983 in #666
- Allow generic sender type requirements by @jpenilla in #668
- chore(deps): Update dependency org.incendo:cloud-build-logic to v0.0.7 by @renovate in #672
- feat(annotations): DefaultValue-producing methods by @Citymonstret in #670
- feat: use captions for the default exception handlers by @Citymonstret in #671
- build(annotations): expose dependency on core to consumers by @jpenilla in #674
- chore(deps): Update dependency org.incendo:cloud-build-logic to v0.0.8 by @renovate in #676
- feat(annotations): allow for multiple permissions by @Citymonstret in #675
- chore(deps): Update dependency org.incendo:cloud-build-logic to v0.0.10 by @renovate in #677
- feat(core): add
futureHandler
toCommand.Builder
by @Citymonstret in #678 - Allow default values to fail parsing by @jpenilla in #598
- chore(deps): Update dependency gradle to v8.6 by @renovate in #673
- chore(deps): Update dependency com.google.truth:truth to v1.4.0 by @renovate in #679
- chore(deps): Update junit5 monorepo to v5.10.2 by @renovate in #682
- feat(core): make caption formatters accept a list instead of a collection, some things may rely on order by @jpenilla in #681
New Contributors
- @Sparky983 made their first contribution in #666
Full Changelog: 2.0.0-beta.1...2.0.0-beta.2
2.0.0-beta.1
First beta release of Cloud 2.0.0
The changelog is located on the new documentation site: https://cloud.incendo.org/cloud-v2/
We expect to release betas for modules housed in cloud-minecraft
, cloud-minecraft-modded
, cloud-processors
, etc. in the coming weeks.
By publishing betas (non-changing pre-release versions) we hope to gather feedback from users and discover any breaking changes that may want to be made before a final 2.0.0 release. So, please don't hesitate to try out these versions in new and existing projects, and to open issues or discuss in #cloud-2
on Discord any questions, suggestions, or other feedback.
1.8.4
Fixed
- Core: Flags not tab-completing unless string is empty (#460)
- Core: Parser registry not properly resolving
TypeToken
s (#454) - Fabric: Pottery pattern registry overriding default string parser for annotations
- Fabric: Log cause of CommandExecutionException in fabric's default exception handler (#466)
Changed
- Core: Improved string parser supplier argument checking
- Bukkit/Paper: Improve docs around Brigadier support