### Highlights / Notes
Improvements to SQL-storage (especially SQLite performance), general performance improvements and some fixes.
### Upgrading from 5.27
- Replace the `bluemap.jar`-file with the new one
- Delete your [`<webroot>/index.html`](<https://bluemap.bluecolored.de/wiki/getting-started/Installation.html#the-webroot>) to make bluemap update the webapp
- *(Optional)* Update the `additional-headers` in your `webserver.conf` to the new defaults:
```yaml
additional-headers: {
"Cache-Control": "public, max-age=86400, stale-if-error=604800"
"CDN-Cache-Control": "max-age=60"
}
```
- *(Optional)* Add the following lines to your SQL storage-configs (e.g. `storages/sql.conf`):
```yaml
# SQL-statements that are executed once on every new connection to the database.
# Leaving this commented out means that BlueMap uses sensible defaults for the used sql-dialect.
#connection-init-sql: [
# "PRAGMA journal_mode = WAL"
# "PRAGMA synchronous = NORMAL"
# "PRAGMA busy_timeout = 30000"
# "PRAGMA foreign_keys = ON"
#]
# The prefix that is prepended to the names of all tables BlueMap creates and uses.
# Only lowercase letters (a-z), digits (0-9) and underscores (_) are allowed, with a maximum length of 32 characters.
# Changing this value on an existing setup will NOT rename existing tables or move data, BlueMap will create new, empty ones instead.
# Default is: "bluemap_"
#table-prefix: "bluemap_"
```
### Changelog since 5.27
- Added a `table-prefix` option to the SQL-storage config to change the names of the tables BlueMap uses (#457)
- Added a `connection-init-sql` option to the SQL-storage config, and BlueMap now uses sensible defaults for each dialect (e.g. WAL-mode for SQLite)
- Changed the default webserver `additional-headers` to use the standard `CDN-Cache-Control` header instead of `Cloudflare-CDN-Cache-Control` (thanks to @w00000dy, #870)
- Improved map-update performance by caching render-state data and parsing block-states faster
- Improved compatibility with some filesystems
- Fixed some streams not being closed correctly
- Fixed another issue with loading saved render-tasks
- Fixed the time of the last full map-update not being saved, which could cause early full updates after a restart
- Fixed an error when `full-update-interval` is set to 0 or a negative value
- Fixed marker colors being displayed in the wrong color-space
### Full Changelog
https://github.com/BlueMap-Minecraft/BlueMap/releases/tag/v5.28
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }