Skip to content

Changelog

Generated from CHANGELOG.md. Bloom follows semantic versioning from 1.0; before 1.0, minor versions may change APIs.

Unreleased

0.1.02026-10-13

Added

  • bloom-api, bloom-common, bloom-bukkit: Bloom entry point, platform detection and support policy, capabilities, services, lifecycle, scheduler, messages (chat, action bar, title, boss bar) with an unsupported-feature policy, event subscriptions, cooldowns, durations, caches.
  • Platform adapters: bloom-legacy for 1.7.10 – 1.8.9 and bloom-modern for Paper 1.21.1 – 26.3.x.
  • bloom-items: item builder, modern ↔ legacy material names, item flags, persistent item data, custom items, serialization.
  • bloom-gui: inventory menus with buttons, layouts, templates, pagination, back navigation, confirmation and per-player state.
  • bloom-config: YAML configuration with defaults, typed getters with line-numbered errors, validation, object mapping, migrations with backups.
  • bloom-storage: asynchronous SQLite, MySQL and MariaDB access with pooling, transactions, migrations and repositories.
  • bloom-testing: manual scheduler and test clock.
  • Example plugins, a standalone template project, a real-server self-test harness (run.sh, run.bat) and the documentation website.
  • bloom-doctor: checks plugin jars (plugin.yml, relocation, adapters, Java level) and verifies every Bukkit/Paper reference against target server APIs.
  • API manifest (./gradlew apiManifest), API reference page, llms.txt, AGENTS.md and a Claude Code skill for plugin authors.

Security

  • Legacy Items.deserialize only resolves the classes an item consists of instead of any serializable class.
  • Untrusted Placeholder.of values can no longer inject section-sign formatting into MiniMessage messages.

Fixed

  • SQLite on 1.7.10 and 1.8.x servers, whose bundled sqlite-jdbc 3.7.2 rejected the WAL setting and lacks Connection.isValid.
  • Persistent item data was lost on 1.7.10 when the item was copied back to a Bukkit stack.