diff options
Diffstat (limited to 'website/src/changelog')
| -rw-r--r-- | website/src/changelog/overview.md | 53 | ||||
| -rw-r--r-- | website/src/changelog/paper/v1.3.0.md | 60 | ||||
| -rw-r--r-- | website/src/changelog/velocity/v1.2.0.md | 23 |
3 files changed, 136 insertions, 0 deletions
diff --git a/website/src/changelog/overview.md b/website/src/changelog/overview.md new file mode 100644 index 0000000..b0e4a97 --- /dev/null +++ b/website/src/changelog/overview.md @@ -0,0 +1,53 @@ +--- +layout: doc +--- + +# Changelog + +The release history of LunaticChat. + +## Versioning + +::: tip + +For the details of independent versioning in LunaticChat, see [Build, Release & Versioning](/docs/developers/resource). + +::: + +LunaticChat follows semantic versioning. A version number consists of the three numbers `MAJOR.MINOR.PATCH`, each raised on the following basis. + +| Position | Raised when | Example | +|----------|-------------|---------| +| **MAJOR** | Used for the move from the pre-release (v0) line to the first stable release. It has not been raised since entering the stable line | `v0.11.0` → `v1.0.0` | +| **MINOR** | A feature is added or changed, and **when a supported platform is dropped** | `v1.2.2` → `v1.3.0` (cross-server DM added, Paper 26.1 dropped) | +| **PATCH** | Bug fixes and dependency updates only. No functional changes | `v1.2.0` → `v1.2.1` (dependency updates only) | + +::: warning Dropping support is done in a MINOR bump + +Cutting a runtime environment loose — "support for Paper 26.1 has ended", "support for Velocity 3.5.x has ended" — **is done in a MINOR bump**. MAJOR is not raised for it, so there can be combinations that stop working across nothing more than a minor version update. Check the changelog for the target version before updating. + +::: + +### The Paper and Velocity builds have separate version numbers + +The plugin for Paper / Folia and the plugin for Velocity are released independently, so their version numbers advance separately. Numbers that do not line up are the normal state of affairs. + +Releases are cut with a tag naming the target. + +| Tag | Released target | +|-----|-----------------| +| `paper/vX.Y.Z` | The Paper / Folia build only | +| `velocity/vX.Y.Z` | The Velocity build only | +| `vX.Y.Z` | Both at once, for a change that affects them both — such as one in the shared `engine` module | + +### The plugin version does not express compatibility + +Whether a Paper build and a Velocity build can talk to each other is decided by the **protocol version** embedded in both, not by the plugin version. Builds with distant version numbers may be combinable, and conversely builds with adjacent numbers may not be. + +For details, see [Paper / Velocity Compatibility](/docs/reference/compatibility). + +### Supported versions + +Only **the latest release of each platform** is supported. Fixes are not backported to older versions unless it is unavoidable. + +Nightly builds are generated automatically from in-development commits. They are not formal releases and are therefore not supported. When a nightly build is in use, a warning is shown on join and when `/lc status` is run. diff --git a/website/src/changelog/paper/v1.3.0.md b/website/src/changelog/paper/v1.3.0.md new file mode 100644 index 0000000..599a59a --- /dev/null +++ b/website/src/changelog/paper/v1.3.0.md @@ -0,0 +1,60 @@ +--- +layout: doc +--- + +# v1.3.0 + +- Download: + - [GitHub](https://github.com/m1sk9/LunaticChat/releases/tag/paper/v1.3.0) + - [Modrinth](https://modrinth.com/plugin/lunaticchat/version/1.3.0) + +## New Features + +- Added support for Paper 26.2 (Minecraft 26.2) + - Support for Paper 26.1 has ended at the same time. + - Paper 26.2 bundles Adventure 5.2.0, which is not binary compatible with 26.1. + - Builds from v1.3.0 onward therefore no longer run on Paper 26.1. +- `/tell <player>@<server>` can now message a player on a server connected through Velocity + - Disabled by default. + - Enable it with `features.velocityIntegration.crossServerDirectMessage`. +- Raised the protocol version to `1.0.1`. + - Paper and Velocity can be updated in either order. + - Cross-server direct messages do, however, require both sides to be updated. + +## Improvements + +- A failed player data save no longer aborts the remaining shutdown steps, so channel logs and the Velocity connection are always closed. +- File persistence has been consolidated behind a single storage layer. + - As a result, a crash or a concurrent save can no longer leave a file in a half-written state. +- Each player's messages are now delivered in the order they were sent. + - Work still queued when a player disconnects is discarded rather than delivered to a player who has already logged out. +- Direct message delivery and channel message logging no longer run on the tick thread. +- Cached romaji conversion results no longer wait for a permit from the shared API concurrency limiter. + - Previously, even a message whose every word was already cached could exhaust its conversion budget waiting for a permit it did not need, and be sent unconverted. +- The words in a message are now converted concurrently. +- Player settings are only rewritten when something has changed. + - Previously, every player quit re-serialized every player stored in the file, even when the bytes were identical. +- When a player quits without an active channel, clearing their active channel no longer takes a snapshot of the channel caches. + - Previously, a mass disconnect produced one full snapshot per disconnecting player within a single tick. +- Spy notification for direct messages and channel messages no longer builds its translation lookup and member set when no recipient is online. +- Channel data writes are now batched instead of rewriting the whole file on every change. +- Performed internal cleanup. + +## Changes + +- `config.yml` is now read with KAML, which changes how a broken file is treated. + - An unreadable configuration file no longer disables the plugin; it starts on its default settings instead. + - When a single value cannot be read, the other settings in the file are no longer all discarded: only that value falls back to its default, with a warning. +- Per-player delivery queues are now bounded. + - A player who sends faster than delivery drains is refused with a warning, rather than building an unbounded backlog that arrives all at once minutes later. + +## Bug Fixes + +- Fixed the player argument of `/tell` matching partially + - This came from the switch away from the old Bukkit API. +- Fixed `features.channelChat.messageLogging` never actually being read and falling back to its default values + - The loading was never implemented despite being documented, so it stayed at its defaults regardless of what the file said. +- Fixed a slow Google IME reply silently stopping every subsequent message delivery for that player's session +- Fixed a single conversion timeout permanently pinning a word to its hiragana form +- Fixed `/reply` not recognizing a reply target that had just been recorded +- Fixed reply target entries that had already been cleared on disconnect being recorded again diff --git a/website/src/changelog/velocity/v1.2.0.md b/website/src/changelog/velocity/v1.2.0.md new file mode 100644 index 0000000..272fb50 --- /dev/null +++ b/website/src/changelog/velocity/v1.2.0.md @@ -0,0 +1,23 @@ +--- +layout: doc +--- + +# v1.2.0 + +- Download: + - [GitHub](https://github.com/m1sk9/LunaticChat/releases/tag/velocity/v1.2.0) + - [Modrinth (Velocity)](https://modrinth.com/plugin/lunaticchat/version/1.2.0-velocity) + +## New Features + +- Added support for Velocity 4.0.0 + - Support for the Velocity 3.5.x line has ended. +- Added cross-server direct message relay and player presence tracking. +- Raised the protocol version to `1.0.1`. + - Paper and Velocity can be updated in either order. + - Cross-server direct messages do, however, require both sides to be updated. + +## Improvements + +- The Velocity JAR shrank from about 8.2 MiB to about 2.6 MiB. + - Paper-only dependencies (Ktor and the romaji conversion module) were separated out of the shared module and are no longer bundled into the Velocity build. |
