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.