Skip to content

Release 1.6.1#396

Merged
tastybento merged 1 commit into
masterfrom
develop
May 26, 2026
Merged

Release 1.6.1#396
tastybento merged 1 commit into
masterfrom
develop

Conversation

@tastybento
Copy link
Copy Markdown
Member

Summary

Cuts the 1.6.1 release. Bundles everything on develop since the last master cut (1.5.3), including the latest hotfix.

Latest hotfix (1.6.1):

  • Fix NPE in confirmation conversations when abandoned (e.g. inactivity timeout after multiple library-icon clicks). All Consumer<Boolean> callsites now use Boolean.TRUE.equals(value) so abandons are no-ops instead of throwing.

Highlights since 1.5.3:

  • Modernised build/runtime: Paper 1.21.11, BentoBox 3.14.0, Java 21, addon API 3.12.0
  • Full test-suite migration from PowerMock to JUnit 5 + Mockito + MockBukkit (~150+ new tests across managers, panels, events, listeners, handlers, commands)
  • Locale files converted from legacy &-codes to MiniMessage
  • Modrinth publish workflow + supply-chain-pinned GitHub Actions
  • Web library: language filter, word-wrapped descriptions, pending-barrier UI, graceful handling of malformed catalog entries
  • Reward text word-wrapped to 30 chars in lore
  • Numerous SonarCloud blocker fixes and code-quality cleanups (switch expressions, isEmpty(), dedup'd string constants, etc.)

Test plan

  • mvn clean verify passes locally
  • Drop the shaded jar into a BentoBox 3.14.0+ server and confirm /padmin challenges opens cleanly
  • Web library: click an entry, type confirm -> import succeeds; click an entry and let it time out -> no NPE in console
  • Web library: click an entry multiple times before answering, let extras time out -> no NPE per abandoned conversation
  • Player /[gm] challenges lists imported challenges in the matching gamemode

🤖 Generated with Claude Code

The abandon listener intentionally calls `consumer.accept(null)` to
signal an abandoned conversation, but the six `Consumer<Boolean>`
callsites auto-unboxed the value with `if (value)`, throwing NPE on
every inactivity timeout (e.g. when an admin clicks a library entry
multiple times before answering). Use `Boolean.TRUE.equals(value)` so
abandons are treated as no-ops, and bump to 1.6.1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tastybento tastybento merged commit 0a70348 into master May 26, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant