Overview This release reintroduces HikariCP for enhanced MySQL database performance and adds a public API for other plugins to interact with OllamaChat's AI chat functionality. It focuses on improving database efficiency, extensibility, and developer integration while maintaining compatibility with existing configurations.
New Features
HikariCP Integration:
Added HikariCP connection pooling for MySQL databases to improve performance and resource management.
Configurable HikariCP settings in config.yml under database.mysql.hikari for tuning connection pool parameters (e.g., maximum-pool-size, connection-timeout).
Public API:
Introduced OllamaChatAPI interface (com.ollamachat.api.OllamaChatAPI) for other plugins.
Supports sending AI queries, managing conversations, and accessing chat history programmatically with methods like sendAIQuery, createConversation, and listConversations.
Added API documentation in API.md for developer integration.
Enhancements
Database Management:
Updated DatabaseManager to leverage HikariCP for MySQL connections, while preserving SQLite functionality.
Dependency Management:
Updated DependencyLoader to include HikariCP (version 5.1.0) alongside MySQL and SQLite JDBC drivers, downloaded at runtime to plugins/OllamaChat/libs.
Maintained compileOnly in build.gradle for non-Paper dependencies to minimize JAR size.
Configuration:
Added database.mysql.hikari section to config.yml with default settings for connection pooling.
Improved config.yml comments for clarity and ease of use.
Bug Fixes
No specific bug fixes in this release, as the focus was on new features and performance improvements.
Notes for Upgrading
Configuration:
Update config.yml to include the database.mysql.hikari section if using MySQL. Default values are added automatically.
Backup existing config.yml before updating to avoid data loss.
Dependencies:
The plugin downloads HikariCP (version 5.1.0) automatically on first startup. Ensure server internet access or verify HikariCP-5.1.0.jar in plugins/OllamaChat/libs.
Delete the libs folder to force re-download if dependencies are corrupted.
API Integration:
Developers can hook into OllamaChat using OllamaChatAPI. Add softdepend: [OllamaChat] to plugin.yml and refer to Github API.md.
Compatibility:
This update is backward-compatible with existing configurations and databases.
Testing:
Test database operations (e.g., /ollamachat conversation new) to verify MySQL/SQLite functionality.
Check server logs for dependency loading or database errors.
Known Issues
HikariCP settings may require manual tuning for optimal performance based on server load and MySQL configuration.