Skip to content

Releases: Vampire/command-framework

v0.5.0

22 Mar 22:12
v0.5.0
Compare
Choose a tag to compare

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

  • Make example project dependencies idiomatic [e51ee2e]
  • Upgrade to CDI 3 [4e8f313]
  • Increase version to 0.5.0 [eb126ef]

v0.4.0

14 Mar 10:24
v0.4.0
Compare
Choose a tag to compare

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

04 Jan 01:31
v0.3.0
Compare
Choose a tag to compare

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

07 Oct 10:15
v0.2.0
Compare
Choose a tag to compare

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]

v0.1.0

26 Aug 00:29
v0.1.0
Compare
Choose a tag to compare