## Additions
* CraftEngine support for items and graves.
* TextDisplays can now act as grave holograms. You will need to execute `/grave migrate holograms` to convert all old ArmorStand holograms to TextDisplay holograms. This changes holograms from one ArmorStand per line per grave to one TextDisplay per grave.
* Added expressions, conditions, and effects. This lets people do silly stuff with GravesX just by using Skript. Examples are included in `skript.txt`.
* Exposed death cause for graves: `Graves#getDeathCause()`.
* Added BagOfGold support. Thanks to @Becerritoo and @PetziPotato.
* Added `GravePreCreateEvent`, which is called before a grave is created.
* Opening a grave can now spawn zombies when enabled with `zombie.open`.
* Added a block list of items a grave can spawn on top of. This includes carpet or configured blocks in `grave.yml` to prevent destroying them.
## Fixes
* Fixed issues with holograms not removing when using `PersistentDataContainer`.
* Updated the Skript implementation to move away from features marked for removal.
* Fixed the `grave.explode` setting being ignored.
* Fixed an issue where walking over a grave could fail to pop the grave because the player did not own it.
* Fixed a bug with `createBlock` in grave providers when they utilize the grave block.
* Fixed Binding Curse items being deleted instead of staying on the player after death.
* Fixed the protected placeholder being inverted. `grave.yml` has replaced `state` with `states` under `protection`.
## Changes
* SQLite support has been officially dropped. All SQLite databases will be migrated to H2.
* `EntityData` is now cached in memory for faster processing.
* `/graves reload` will now reload the entire plugin.
* Grave providers will now determine which provider created the grave: `Grave#getProviderID()`.
* Smart placement has received an overhaul. This fixes numerous bugs, including Nether roof placement issues when there should not be Nether roof placement.
* Graves tab completion for player searches will now grab the top 25 results. This prevents lag on large servers that may have thousands of entries.
# Why the version string change?
This change came as a late introduction in the development cycle. This update is basically the expected `4.9.11.1` release, but this is how we are versioning going forward.
How the version string is broken down:
**2026** - Year of release.
**4.9** - Tied to being a fork of Graves 4.9.
**1** - Release number. This can go up infinitely until the next year comes around, then it resets back to 1.
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" }