Hello!
This is a major release focused on backend stability, AI reliability, and user-facing translation experience improvements.
Changes:
- Added guardrail support for all AI providers. Essentially a 'guardrail' prompt will run before each request with your arbitrary rules. This model can be set to be separate from the main one.
- Added OpenAI-compatible provider support alongside existing ChatGPT and Ollama paths. This is a third AI option meant for services such as vLLM/OpenRouter.
- Enabled OpenAI Responses API defaults:
- Endpoint:
https://api.openai.com/v1/responses - Default ChatGPT model:
gpt-5.3-chat-latest
- Endpoint:
- Added optional Guidelines AI checks with configurable prompts and model selection.
- Added the new loading/translation indicator experience (action bar based progress instead of chat, smoother spinner flow).
- Added Paper Dialog API input support with configurable
General.inputMethod:autopaper-dialogconversationnone
- Added translation controls for capacity and object throughput for better performance:
General.translationCapacityLimitGeneral.objectTranslationConcurrencyLimit
- Added clearer feedback from translation failures and make them less vague.
- Much better concurrency support for entity/world translation (meaning faster responses with sign/book translation.)
- Expanded migration + status checks for SQL and MongoDB cleanup/deduplication and lookup performance.
- Bumped runtime baseline to Java 21 and plugin compatibility docs to Spigot/Paper/Folia 1.20+. 1.19 and below are no longer supported.
- Fixed bugs across /wwct stop, /wwcg, /wwcs, rate limiting, folia scheduling issues, and more
- New testing server :)
As always take care!
Technical Notes (for those inclined, see per-commit for more details.)
-
Added migration engine wiring:
StorageMigrationUtilsand migration status model- Flyway-backed SQL/PostgreSQL migration path
- Mongock-backed MongoDB migration path
- New normalization migration for cache dedupe/index/key consistency
- Migration failure handling disables plugin on unsafe state rather than continuing partial startup
-
AI/prompt pipeline changes:
- OpenAI-compatible API support (URL/API key/model/prompt integration)
- Shared guardrail/prompt templates across providers
- Better OpenAI response parsing for both strict JSON and failure paths
- Optional Guidelines AI is now explicit and configurable instead of implicit behavior
-
Input/interaction refactor:
- Input abstraction for conversations/paper dialogs/null-input modes
General.inputMethodselection exposed in config + GUI paths- Paper dialog availability checks by version/classpath plus fallback strategy
-
Loading/progress revamp details:
- Action bar indicator now behaves as a proper lifecycle:
- delayed start display
- pulsing frame updates while active
- safe clear path on completion
- hard timeout guard and explicit error state behavior
- Separate handling for object translation UX so long-running object workflows don’t stall or spam chat output
- Action bar indicator now behaves as a proper lifecycle:
-
Throughput and concurrency:
- Added bounded translation capacity + object concurrency controls
- Broader race-condition and queue fixes in translation/test flows
- Threading and scheduler behavior improved for async/folia-safe execution paths
-
Storage and startup:
- Cache loading and sync logic tightened across YAML/SQL/Postgres/Mongo
- Better startup task orchestration during reload to reduce partial-init races
- More deterministic plugin bootstrap and background task cancellation/restart behavior
-
Maintenance + hygiene:
- Large dependency refresh across modules
- GitHub workflow security/CI adjustments
- Expanded test coverage for migration paths and platform-specific scheduler/performance scenarios