Releases: Vampire/command-framework
Releases · Vampire/command-framework
v0.5.0
Highlights
The used CDI version is now 3.
To update your project you basically replace all javax.annotation
, javax.enterprise
, and javax.inject
imports
by the respective jakarta.annotation
, jakarta.enterprise
, and jakarta.inject
imports.
Of course you also need to change the respective dependencies like
javax.annotation:javax.annotation-api
to jakarta.annotation:jakarta.annotation-api
,
javax.enterprise:cdi-api
to jakarta.enterprise:jakarta.enterprise.cdi-api
,
and javax.inject:javax.inject
to jakarta.inject:jakarta.inject-api
in the latest versions.
Details
v0.4.0
Highlights
- Things are now initialized lazily where possible to prevent stack-overflow problems due to hen-and-egg situations
- There is now a parameter parser that supports typed parameters that are automatically converted
- Support non-relaxed proxy creation and produced restrictions
- Checking restrictions is not dependent on an internal class anymore but uses a map, also allowing to check restrictions in downstream code
- Update to latest JDA and Javacord versions
- Command context class for consolidating command invocation relevant information and attaching arbitrary information to the context
- The command recognition and resolution process can now be influenced at certain points using command context transformers
- Slash commands are now supported natively for Javacord support
Details
- Support slash commands for Javacord [9730677]
- Update JDA version to 4.4.0_352 [a816a86]
- Update Javacord version to 3.4.0 [7e359e3]
- Make private elements needed by CDI package-private [d4e050d]
- Replace RestrictionLookup by a Map [c457e94]
- Make all beans proxyable [d0c12df]
- Check actual restriction class instead of inheritance distance [ad55836]
- Make sure that default aliases have Command and Cmd only stripped from beginning and end [38d6db7]
- Increase integ tests coverage for parameter parsers [7eb23d4]
- Improve README text [6091043]
- Add command context class with additional information store and allow to transform it in various phases [4d3d6d1]
- Update Discord Frameworks to intent-compatible versions and adapt integ tests [85bcac8]
- Fix Parameters JavaDoc [825212c]
- Rename usageParser feature to parameterParser [855c3eb]
- Fix JDA command handler JavaDoc [c0ff0d6]
- Provoke a more visible and intuitive error if a user tries to use ParameterParser without ANTLR runtime [f339cb2]
- Fix prerequisites regarding message framework [cb47dae]
- Limit backwards compatibility guarantee to API classes [fe5352f]
- Add support for typed parameter parsing [614047a]
- Increase version to 0.4.0 [d20a99f]
- Fix toString() tests [5977faf]
- Fix Pitest execution on Java 8 [8ea216b]
- Remove unnecessary volatile keywords [f24078a]
- Initialize things lazily where possible to prevent stack-overflow problems due to hen-and-egg situations [1ce91e5]
- Refactor out lazy initialization logic into own helper classes [05ae936]
- Fix example path in readme [6ca0a1e]
v0.3.0
Highlights
- Integration tests
- JDA support
- Newline as parameter separator character and within placeholders with whitespace
- Customization of alias calculation
- Cleanup on command handler destroyal
- Bugfixes
Details
- Add integration tests [eb87c56]
- Correct display version calculation [d2c3d8b]
- Change server to guild for JDA classes to adapt to JDA terminology [2623c2e]
- Do not handle private messages twice for JDA [6a488f1]
- Exclude beans from discovery if they depend on absent classes [2bde5dc]
- Allow to customize the alias calculation [e98289f]
- Move version.properties to api package to make it accessible from built jar [0f9a0bd]
- Allow newline as parameter separator character and within placeholders with whitespace [22ca89e]
- Update Javacord version [bb67e34]
- Remove the listener the JDA command handler added on bean destroyal [4f70ab9]
- Remove the listener the Javacord command handler added on bean destroyal [335ce0d]
- Add JDA support [355b75e]
v0.2.0
Highlights
- Several bug fixes
- 100% branch and mutant test coverage
- Also strip Command and Cmd from the beginning of a class name for the default alias
Details
- Also strip Command and Cmd from the beginning of a class name for the default alias [4cb914d]
- Add tests with 100% branch and mutant coverage [382b574]
- Simplify usage pattern builder and thereby fix some edge cases [116514f]
- Find restriction with closest relation in restriction lookup to support subclassing properly [5ac6ba1]
- Allow inexact role restriction by name if the lowest role with the name is satisfied [324ff73]
- Add methods to combine a RestrictionChainElement with a Restriction class directly [ef8c8e6]
- Fix display version calculation [c9cdb2f]
- Fix exception when command was not found and no arguments are present [304b10a]
- Do exception handling self and in whenComplete for better semantics and correct logging category [09af435]
- Fix the simple parameter splitting [7a665fa]
- Use the last part of the type name if the simple name is empty for the default alias [45f0e2b]
- Produce loggers for the declaring class instead of the bean class [ef5d38e]
- Fail usage pattern parsing if there is some error during lexing or parsing [8c844f3]