All Versions
Latest Version
Avg Release Cycle
51 days
Latest Release
1163 days ago

Changelog History
Page 1

  • v0.11.0 Changes

    July 26, 2020
    • ๐Ÿ‘‰ Use error wrapping from standard library instead of
    • โšก๏ธ Update Module to Go 1.14
    • ๐Ÿ”„ Change default log level from Debug to Info
    • โž• Add WithLogLevel(โ€ฆ) option for changing the default log level
  • v0.10.0 Changes

    October 26, 2019
    • ๐Ÿ‘ Allow event handlers to also use scalar event types (fixes #14)
    • โž• Add new FinishEventContent(โ€ฆ) function to finish event processing with multiple handlers early
    • ๐Ÿ’ฅ Breaking change: Message handlers registered via Bot.Respond(โ€ฆ) and Bot.RespondRegex(โ€ฆ) now abort early if the pattern matches
      • This allows users to specify a default response when nothing else matches (see #25)
  • v0.9.0 Changes

    October 22, 2019
    • โž• Add Auth.Users() and Auth.UserPermissions(โ€ฆ) functions to allow retrieving all users as well as users permissions.
    • ๐Ÿ‘ Allow adapters to implement the optional ReactionAwareAdapter interface if they support emoji reactions
    • โž• Add new reactions package which contains a compiled list of all officially supported reactions
    • ๐Ÿ‘ Components may now return the new ErrNotImplemented if they do not support a feature
    • โž• Add new reactions.Event that may be emitted by an Adapter so users can listen for it
  • v0.8.0 Changes

    April 21, 2019
    • ๐Ÿ‘‰ Make Auth.Grant(โ€ฆ) idempotent and do not unnecessarily add smaller scopes
    • ๐Ÿ‘Œ Support extending permissions via Auth.Grant(โ€ฆ)
    • โž• Add boolean return value to Auth.Grant(โ€ฆ) to indicate if a new permission was granted
    • โž• Add Auth.Revoke(โ€ฆ) to remove permissions
    • ๐Ÿ›  Fix flaky unit test TestBrain_Memory
    • ๐Ÿ›  Fix flaky TestCLIAdapter_Register test
    • โž• Add new Storage type which manages encoding/decoding, concurrent access and logging for a Memory
    • Factor out Memory related logic from Brain into new Storage type
      • Removed Brain.SetMemory(โ€ฆ), Brain.Set(โ€ฆ), Brain.Get(โ€ฆ), Brain.Delete(โ€ฆ), Brain.Memories(โ€ฆ), Brain.Close(โ€ฆ)
      • All functions above except Brain.Memories(โ€ฆ) are now available as functions on the Bot.Store field
    • The Auth type no longer uses the Memory interface but instead requires an instance of the new Storage type
    • โœ‚ Removed the BrainMemoryEvent without replacement
    • โž• Add joetest.Storage type to streamline making assertions on a bots storage/memory
    • ๐Ÿ”„ Change the Memory interface to treat values as []byte and not string
    • โœ‚ Remove Memories() function from Memory interface and instead add a Keys() function
    • NewConfig(โ€ฆ) now requires an instance of a Storage
  • v0.7.0 Changes

    April 18, 2019
    • โž• Add ReceiveMessageEvent.Data field to allow using the underlying message type of the adapters
    • โž• Add ReceiveMessageEvent.AuthorID field to identify the author of the message
    • โž• Add Message.Data field which contains a copy of the ReceiveMessageEvent.Data value
    • โž• Add Message.AuthorID field which contains a copy of the ReceiveMessageEvent.AuthorID value
    • โž• Add Auth.Grant(โ€ฆ) and Auth.CheckPermission(โ€ฆ) functions to allow implementing user permissions
    • โž• Add Brain.Close() function to let the brain implement the Memory interface
    • โž• Add Brain.SetMemory(โ€ฆ) function to give more control over a joe.Brain
    • Fix joetest.Bot.Start(โ€ฆ) function to return only when actually all initialization is done
  • v0.6.0 Changes

    March 30, 2019
    • ๐Ÿ”ง implement NewConfig function to allow create configuration for unit tests of modules
  • v0.5.0 Changes

    March 18, 2019
    • ๐Ÿ›  Fixed nil pointer panic in slack adapter when context is nil
  • v0.4.0 Changes

    March 18, 2019
    • ๐Ÿ”„ Change type of Module from function to interface to allow more flexibility
    • Introduce new ModuleFunc type to migrate old modules to new interface type
  • v0.3.0 Changes

    March 17, 2019
    • Event handler functions can now accept interfaces instead of structs
    • โž• Add new package for unit tests
    • โž• Add new joetest.Brain type
    • โž• Add new WithLogger(โ€ฆ) option
    • Switch license from MIT to BSD-3-Clause
    • ๐Ÿ“ฆ Move TestingT type into new joetest package
    • ๐Ÿ“ฆ Move TestBot type into new joetest package and rename to joetest.Bot
    • ๐Ÿ›  Fixed flaky unit test of CLIAdapter
  • v0.2.0 Changes

    March 10, 2019
    • โž• Add a lot more unit tests
    • โž• Add TestBot.Start() and TestBot.Stop()to ease synchronously starting and stopping bot in unit tests
    • โž• Add TestBot.EmitSync(โ€ฆ) to emit events synchronously in unit tests
    • โœ‚ Remove obsolete context argument from NewTest(โ€ฆ) function
    • Errors from passing invalid expressions to Bot.Respond(โ€ฆ) are now returned in Bot.Run()
    • Events are now processed in the exact same order in which they are emitted
    • All pending events are now processed before the brain event loop returns
    • Replace context argument from Brain.HandleEvents() with new Brain.Shutdown() function
    • Adapter interface was simplified again to directly use the Brain
    • โœ‚ Remove unnecessary t argument from TestBot.EmitSync(โ€ฆ) function
    • โœ‚ Deleted Brain.Close() because it was not actually meant to be used to close the brain and is thus confusing