Runebot v1.0.7
Runebot v1.0.7.
Runebot v1.0.7-dev.3
July 22, 2026
- 05b7508 [fixed] 🪲 Update /Runebot/: fix(stats) normalise account types
- e0445ed [removed] 🛠️ Update /Runebot/: chore(database) remove legacy
remove_username()helper - b9e9ca2 [removed] 🛠️ Update /Runebot/: chore(commands) remove legacy unsetrsn cog
- da335f4 [fixed] 🪲 Update /Runebot/: fix(errors) acknowledge slash runtime failures
- 684f381 [fixed] 🪲 Update /Runebot/: fix(accounts) serialise account mutations
- 8cf54cf [improved] 🪲 Update /Runebot/: fix(runtime) offload graph rendering
- e2b7e48 [improved] 🪲 Update /Runebot/: fix(runtime) offload colour extraction
- 87d3d4a [fixed] 🪲 Update /Runebot/: fix(stats) preserve component runtime errors
- 7987c27 [improved] 🪲 Update /Runebot/: fix(runtime) offload Hiscores data parsing
- 3907c92 [improved] 🪲 Update /Runebot/: fix(runtime) offload price data parsing
- 058e0b6 [improved] 🪲 Update /Runebot/: fix(runtime) offload wiki page parsing
- 4475082 [added] ⚙️ Update /Runebot/: feat(logging) add component duration telemetry
- add duration telemetry to authoritative component terminal events
- move component terminal ownership after successful Discord response delivery
- record fallback delivery failures as single runtime outcomes
- preserve slash-command terminal ownership across shared search helpers
- retain validated origin trace linkage for linked interactions
- bddcff1 [changed] ⚙️ Update /Runebot/: refactor(logging) pair component lifecycle events
- emit component lifecycle starts before fallible interaction work
- pair component starts and terminal outcomes with a fresh trace ID
- preserve validated origin trace metadata across linked interaction flows
- align stale, invalid, wrong-user, and account deletion outcomes
- standardise component type references
- 48c5f4f [added] ⚙️ Update /Runebot/: feat(logging) add slash command duration telemetry
- 4e82de9 [added] ⚙️ Update /Runebot/: feat(logging) add ping lifecycle telemetry
- d2ec442 [changed] 🛠️ Update /Runebot/: chore(metadata) align release version and project description
- bd57d06 [fixed] 🪲 Update /Runebot/: fix(startup) force fail on extension load errors
- 3d5fe2e [fixed] 🪲 Update /Runebot/: fix(price) force runtime fallback ephemeral
- make
ack_runtime_failurealways send ephemeral responses. - resolve the
/priceFeeling Lucky selection before deferring so fallback acknowledgements remain valid.
- make
- 13a8047 [fixed] 🪲 Update /Runebot/: fix(stats) add Maggot King boss mapping
- 2216c41 [improved] 🪲 Update /Runebot/: fix(logging) log colour extraction fallbacks
- add
log_colour_extraction_failurefor handled colour fallback warnings. - record command context, image host, exception type, and
fallback_colourwithout interrupting user responses.
- add
- 7e2ad6b [changed] ⚙️ Update /Runebot/: refactor(components) centralise stale control acknowledgements
- route stale
/statsand/pricecontrols throughack_component_failure. - remove duplicate acknowledgement and structured logging implementations.
- route stale
- fcd33b7 [removed] ⚙️ Update /Runebot/: refactor(config) remove obsolete fallback thumbnails
- 2a5dc77 [fixed] 🪲 Update /Runebot/: fix(commands) highlight wiki request failures
- f66b40d [fixed] 🪲 Update /Runebot/: fix(stats) correct hiscores request exception mapping
- map hiscores request failures to
NoHiscoreData. - stop routing stats transport failures through
WikiRequestFailed.
- map hiscores request failures to
- 17536e8 [improved] ⚙️ Update /Runebot/: fix(wikipedia) add embed footer timestamp parity
- f017a57 [fixed] 🪲 Update /Runebot/: fix(logging) disable rich traceback diagnostics
- disable rich traceback diagnostics for runtime exception logging.
- prevent local-variable capture in persisted file and internal log output.
- 7d1c2e0 [fixed] 🪲 Update /Runebot/: fix(setrsn) handle max. accounts failure
- handle
MaximumAccountsReachedas an expected user-visible failure. - return the failure response ephemerally without falling through to runtime handling.
- handle
- de5d8ff [fixed] 🪲 Update /Runebot/: fix(stats) split user account failures
- distinguish a mentioned Discord user without a saved default account using
MentionedUserAccountNonexistent. - keep mentioned-user lookup failures on the expected ephemeral failure path.
- distinguish a mentioned Discord user without a saved default account using
- 32c304b [improved] 🪲 Update /Runebot/: fix(exceptions) polish usage and permission copy
- 9a1ea6b [added] 🪲 Update /Runebot/: fix(commands) add runtime failure acknowledgement helper
- add
ack_runtime_failurefor unexpected command failures. - reuse the helper across player and search commands for consistent ephemeral acknowledgements.
- add
- c60a64c [added] 🪲 Update /Runebot/: fix(components) add reusable failure acknowledgements
- add
ack_component_failurefor handled component interaction failures. - standardise neutral ephemeral responses and failure logging.
- add
- 1467f91 [added] 🪲 Update /Runebot/: fix(components) add owner mismatch acknowledgement helper
- add
ack_wrong_component_userfor controls used by a different Discord user. - return a neutral ephemeral acknowledgement and preserve structured component metadata.
- add
- 65fa62d [improved] 🪲 Update /Runebot/: fix(commands) refine ephemeral responses
- e0a563d [improved] 🪲 Update /Runebot/: fix(stats) refine ephemeral setup embeds
- 9bb3543 [fixed] 🪲 Update /Runebot/: fix(components) acknowledge stale component payloads
- acknowledge expired
/statsand/pricecontrols with neutral ephemeral responses. - capture component prefix and action metadata for structured invalid-component logs.
- acknowledge expired
- f0250d3 [fixed] 🪲 Update /Runebot/: fix(price) blacklist known
NoPricecandidates - 255e841 [fixed] 🪲 Update /Runebot/: fix(price) add validation to item names
- validate catalogue item names before slugifying refresh metadata.
- map missing or empty item names to the existing
NoPricesoft failure path.
- 81c7f3e [improved] ⚙️ Update /Runebot/: fix(embeds) add
/setrsnmention to empty accounts prompt
Runebot v1.0.7-dev.2
May 19, 2026
- 9dc95db [fixed] 🪲 Update /Runebot/: fix(wikipedia) restore stub article embed
- b5fe86e [fixed] 🪲 Update /Runebot/: fix(stats) restore account type mismatch failures
- 4c92ea5 [added] ⚙️ Update /Runebot/: refactor(logging) add shared internal log emission
- centralise internal log emission behind the shared logging helper.
- preserve structured context while reducing repeated logging setup across cogs.
- fd10bec [changed] ⚙️ Update /Runebot/: refactor(logging) reduce logger boilerplate across
./cogs
Runebot v1.0.7-dev.1
May 17, 2026
- 2c3eb72 [fixed] 🪲 Update /Runebot/: fix(logging) make internal log ingest idempotent
- 73a5253 [fixed] 🪲 Update /Runebot/: fix(logging) harden internal log SQLite connections
- apply
busy_timeoutconsistently across internal log database connections - keep WAL setup scoped to schema initialisation
- apply
- 2bdff0b [fixed] 🪲 Update /Runebot/: fix(api) structure internal API failure logs
- handle client disconnects during JSON response writes as structured warnings
- add structured context to internal API timeout, persistence, and query failure logs
- b56c250 [added] ⚙️ Update /Runebot/: feat(logging) add guild lifecycle visibility
- add structured guild join and remove lifecycle logs
- capture safe guild metadata, counts, locale, features, and bot permission snapshots
- preserve tokenized lifecycle messages for dashboard parsing
- log guild persistence failures with structured exception metadata and traceback
- 7b51ece [added] ⚙️ Update /Runebot/: feat(logging) add native time range filters to logs API
- 2a00261 [added] ⚙️ Update /Runebot/: feat(logging) introduce initial internal logging pipeline
- add structured Loguru-based logging with internal API ingestion and SQLite persistence
- add first-class
trace_idandsession_idfields for correlating logs across command flows and bot sessions - add log session tracking, local log file output, and a
logs/.gitkeepplaceholder - add internal log ingest, query, session, and health endpoints for future admin/reporting tooling
- add reusable logging helpers for consistent command messages, metadata, and
log_params - add command lifecycle logging across search, stats, account, parser, API, and failure flows
- add structured context for users, guilds, channels, invocation source, resolution source, and expected user-visible failures
- add runtime configuration for development and production log database paths
Found a bug? Let me know @tarranprior or raise an issue here. You can also find me in the support server!
