Skip to content

v1.2.10-malus

Choose a tag to compare

@github-actions github-actions released this 15 Sep 12:22

What Changed

  • Manual reload required for commands/handlers: .cmd custom commands and .hdl/.shdl handlers are no longer hot-reloaded automatically. They're now loaded once at startup, meaning faster response time but slightly more memory usage. A new reload command lets you refresh commands, custom commands, and handlers on the fly without restarting.
  • Stricter client registration: The server now rejects a client's registration outright if it doesn't send all expected identifying info (hostname, machine, system, release), instead of silently filling in "unknown" placeholders.
  • Minor changes: Minor documentation changes and bug fixes have been applied.
  • Update checks API change: Slightly different response from api/latest.

Removals

Warning

Hot-reloading of .cmd and .hdl/.shdl files has been removed. If you rely on adding/editing plugin files while BotWave is running, run reload afterward (or restart) to pick up the changes.

Updating to this version

To update to this version, run the following command:

bw-update --to v1.2.10-malus
Commit history
  • [meta] releases.txt: =--- v1.2.10-malus ---= (ff601ba)
  • [shared] custom_cmds.py, handlers.py: instead of re-reading the file content on each run, store it in memory (9d14d23)
  • [server] ops/handlers.py: fixed handlers not passing client_id to build_context (regression in #105) (d983770)
  • [wiki] *.md: sync GitHub wiki into /wiki (eb23e7e)
  • [docs] **/*.md: replaced 'botwave>' with the correct prompt ('botwave ›') (0786ed3)
  • [wiki] *.md: sync GitHub wiki into /wiki (f45d575)
  • Merge pull request #105 from dpipstudio/no-handlers-hotreload (c9a045f)
  • [shared] ops/reload.py: use .clear() instead of reassigning an empty dict (1f002ba)
  • [shared] prompt.py, reload.py: also reload prompt autocomplete / validator (34d824f)
  • [meta] installation.json: include new shared ops (f1c5c3d)
  • [shared] ops/reload.py: new 'reload' command, reloads every command, custom command, and handlers since they arent hot-reloadable anymore (46d9660)
  • [shared] custom_cmds.py: issue same warning as handlers (4574d6f)
  • [local] ops/handlers.py: removed HandlersCliOp that now is in shared/ops/handlers.py (74523ba)
  • [server] ops/handlers.py: removed HandlersCliOp that now is in shared/ops/handlers.py (d5b25fb)
  • [shared] ops/handlers.py: new shared op for the 'handlers' cli op that was duplicated across server and local (005c5ab)
  • [shared] handlers.py: avoid crashing on inexistent handlers dir (0e3df06)
  • [shared] handlers.py, custom_cmds.py: removed dead code (0391e63)
  • [server] server.py: load handlers (688e965)
  • [server] ops/handlers.py: transition to a registry-based approach (0fa6db7)
  • [local] ops/handlers.py: remove irrelevant dir_path (3b9a18f)
  • [local] ops/handlers.py: use removeprefix instead of lstrip (d36af97)
  • [local] ops/handlers.py: whitespace changes (962072f)
  • [local] local.py: register handlers (d1767a6)
  • [local] ops/handlers.py: support for registry-based handlers approach (5dd77fb)
  • [shared] handlers.py: new register() function for a registry-based approach (c94526c)
  • [shared] custom_cmds.py: pass ccmd by value into handle() (d727dfd)
  • [local] local.py: register customcommands in the registry (32acd4d)
  • [shared] ops/help.py: dont process custom commands anymore, since they're included in the registry (63273cf)
  • [server] server.py: register ccmds at startup (54a8e87)
  • [shared] custom_cmds.py: new CCMD.register() function that registers every ccmd in the handlers directory as a CliOp (a10bd94)
  • [shared] prompt.py: consider <> as required, not [] as optional (c683c20)
  • [server] server.py: fixed indentation (b0cd1b6)
  • Merge pull request #104 from dpipstudio/fail-on-missing-reg-details (e3f2ff6)
  • [server] ops/register.py: enforce hostname, machine, system, and release in Commands.REGISTER (3fe8f12)
  • [server] server.py: replaced check_for_updates with version.warn_new_ver() (4706557)
  • [local] local.py: replaced check_for_updates with version.warn_new_ver() (0cbfa26)
  • [client] client.py: replaced check_for_updates with version.warn_new_ver() (0d24341)
  • [shared] version.py: added a new shared warn_new_ver() method to replace redundant check_version() in [client] [local] [server] (461db5b)
  • [meta] latest.ver.txt: lwk forgot updating protocol for a week (31ea26f)
  • [meta] installation.json: update for v1.2.9-allexis (1dbf09b)