All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.17.5 - 2026-02-27
- Fixed crash on stop for Node.js engine
- Fixed item.maxDamage #349 (#354) @LWenK
0.17.4 - 2026-02-24
- Bumped LightWebSocketClient to v1.0.2 #353
0.17.3 - 2026-02-24
- Added
onPortalTrySpawnevent #318/#306 @yangyangzhong82 - Added
onPortalTrySpawnPigZombieevent @yangyangzhong82 - Added
onDispenseItemevent #318 @yangyangzhong82
- Fixed crash on stop for Node.js engine
0.17.2 - 2026-02-04
- Fixed ScriptEngine lifecycle
0.17.1 - 2026-01-27
- Fixed
mc.newItem#348
0.17.0 - 2026-01-25
- Added client support
- Supported LeviLamina 1.9.0
- Replace int with CommandPermissionLevel for debugCommandLevel
0.17.0-rc.2 - 2026-01-19
- Supported LeviLamina 1.8.0-rc.2
- Added client support
- Replace int with CommandPermissionLevel for debugCommandLevel
0.16.8 - 2026-01-14
- Added debugCommandLevel config @ShrBox
- Fixed onLiquidFlow @killcerr
0.16.7 - 2026-01-13
- Used shared_ptr to manage script::ScriptEngine @ShrBox
0.16.6 - 2026-01-13
- No need to copy raw pointer of nbt @ShrBox
- Optimized ItemAPI
- Added
std::monostatetoDB::Anyfor preventing some exceptions @ShrBox - Avoided unnecessary
newand raw pointer @ShrBox
- Fixed potential memory leak in
_extractValue(RemoteCall::ItemType&& v)of RemoteCallAPI @ShrBox
0.16.5 - 2026-01-12
- Stored CommandOutput and CommandOrigin as shared_ptr for asynchronous command processing
0.16.4 - 2026-01-12
- Fixed mysql query @ShrBox
- Fixed memory leak in BinaryStream @ShrBox
0.16.3 - 2026-01-12
- Optimized FileClass constructor @ShrBox
- Optimized SimpleIni creation @ShrBox
- Fixed several potential memory leak issues(FileSystemAPI, InternationalAPI, SystemAPI, IniHelper) @ShrBox
0.16.2 - 2026-01-11
- Bumped QuickJs-Ng to 0.11.0 @Yushu2606
- Bumped Python to 3.12.10 @Yushu2606
- Fixed data.toMD5 & data.toSHA1 #339 @ShrBox
- Fixed memory leak in network.httpGet & network.httpPost @ShrBox
0.16.1 - 2025-11-12
- Added the maxCount attribute to the Item class @zimuya4153
- Fixed the Vec3 parameter of the command @zimuya4153
- Fixed the objectificationMoneyHistory function of money #332 @zimuya4153
- Fixed the Player::giveItem method #326 @zimuya4153
- Fixed the NbtCompound::toObject method #315 #317 @zimuya4153
- Fixed the syntax error output of runcmdEx @zimuya4153
- Fixed the asynchronous output of commands #322 @zimuya4153
- Fixed the hurt method of the Actor class #330 @zimuya4153
0.16.0 - 2025-11-04
- Supported LeviLamina 1.7.0 @ShrBox
0.15.0 - 2025-10-04
- Supported LeviLamina 1.6.0 @ShrBox
- Removed LegacyParticleAPI
0.14.0 - 2025-09-23
- Supported LeviLamina 1.5.0 @ShrBox
- Fixed logger.setFile #323 @ShrBox
0.13.2 - 2025-08-07
- Fixed Node engine installation issue
- Fixed the simulated player using Player::getLangCode (#316) @zimuya4153
0.13.1 - 2025-07-18
0.13.0 - 2025-07-15
- Supported LeviLamina 1.4.0 @xiaoqch
- Ensured onUnload is invoked prior to engine cleanup @xiaoqch
0.12.1 - 2025-07-13
- Implemented the internal support for event cancellation #285 @xiaoqch
- Added file version info @xiaoqch
- Refactored npm command, revert event commit @xiaoqch
- Fixed entity.setMaxHealth #291 @xiaoqch
- Fixed onSetArmor, onEffectAdded and onEffectRemoved #299 @xiaoqch
- Fixed npm command @xiaoqch
- Fixed unload crash #300 @xiaoqch
- Disabled input in console npm command @xiaoqch
- Fixed old nodejs addon load error #9 @xiaoqch
- Ensured microtasks are executed automatically #10 @xiaoqch
- Fixed ll.onUnload #303 @xiaoqch
- Fixed onServerStarted event for nodejs engine @xiaoqch
- Ensured mods are unloaded when the server stops #303 @xiaoqch
- Added missing enter scope on mods unload @xiaoqch
- Fixed ll.isRelease @xiaoqch
0.12.0 - 2025-06-12
- Added tooltip support for CustomFormBuilder @xiaoqch
- Removed obsolete GUI logic @xiaoqch
- Improved PlayerClass::talkAs (#287) @killcerr
- Fixed Player.transServer @xiaoqch
- Fixed data.toMD5 and data.toSHA1 @xiaoqch
- Fixed simulateLookAt #278 @ShrBox
0.11.3 - 2025-06-03
- Added onEndermanTakeBlock event #233 @zimuya4153
0.11.2 - 2025-06-01
- Fixed onPlaceBlock #242 @ShrBox
0.11.1 - 2025-05-31
- Added ll.pluginsRoot and ll.getCurrentPluginInfo apis @xiaoqch
- Updated LeviLamina to 1.2.0
- Updated ScriptX to fix v8 backend issue #277 @ShrBox
- Refactored onAte event (#279) @killcerr
- Fixed compatibility with custom mods directory @xiaoqch
- Fixed ll.getPluginInfo fails to get current plugin info during loading @xiaoqch
0.11.0 - 2025-05-20
- Refactored GUI API
- Support LeviLamina 1.2.0-rc.2
- Fixed ll.import and ll.export for nodejs engine (#270) @xiaoqch
- Fixed ang.toFacing (#271) @xiaoqch
- Fixed entity.speed and player.speed (#184) @xiaoqch
- Fixed mc.deletePlayerNbt @xiaoqch
- Improved logging in NodeJs plugin loading @xiaoqch
- Fixed return type for invalid dimension in mc.getBlock @xiaoqch
0.10.9 - 2025-06-01
- Added ll.pluginsRoot and ll.getCurrentPluginInfo apis @xiaoqch
- Updated ScriptX to fix v8 backend issue #277 @ShrBox
- Refactored onAte event (#279) @killcerr
- Fixed compatibility with custom mods directory @xiaoqch
- Fixed ll.getPluginInfo fails to get current plugin info during loading @xiaoqch
- Fixed onPlaceBlock #242 @ShrBox
0.10.8 - 2025-05-22
- Update LeviLamina to 1.1.2
0.10.7 - 2025-05-20
- Fixed ll.import and ll.export for nodejs engine (#270) @xiaoqch
- Fixed ang.toFacing (#271) @xiaoqch
- Fixed entity.speed and player.speed (#184) @xiaoqch
- Fixed mc.deletePlayerNbt @xiaoqch
- Improved logging in NodeJs plugin loading @xiaoqch
- Fixed return type for invalid dimension in mc.getBlock @xiaoqch
0.10.6 - 2025-04-27
- Added Node.js backend esm support (#268) @engsr6982
- Fixed Direction enum @xiaoqch
0.10.5 - 2025-04-13
- Fixe param of onBlockExploded event callback #264 @xiaoqch
0.10.4 - 2025-04-12
- Fixed mc.getBlock #261 @xiaoqch
0.10.3 - 2025-03-23
- Fixed plugin executeOnModUnload @zimuya4153
- Fixed output of plugin load error @xiaoqch
- Fixed system.cmd and system.newProcess callback #258 @xiaoqch
0.10.2 - 2025-03-16
- Synced ScriptX with upstream
- Delay onServerStarted for 1 tick to fix compatibility with old plugins(e.g. LLSE-FakePlayer)
- Show error when loading plugins failed #240 @xiaoqch
- Fixed DefaultDataLoadHelper
0.10.0 - 2025-03-14
- Upgrade tooth.json to manifest v3
- Fixed HttpServer crash #249 @xiaoqch
- Fixed mc.getBlock #252 @xiaoqch
- Fixed Player.setCurrentExperience #243 @xiaoqch
- Fixed getAllTags #251 @ShrBox
0.10.0-rc.2 - 2025-03-02
- Fixed onNpcCmd event
- Use coro for delay command registration instead of ServerStartedEvent to fix command registration in onServerStarted event
0.10.0-rc.1 - 2025-03-01
- Adapted to LeviLamina 1.1.0(MCBE 1.21.60.10)
- Disabled onNpcCmd temporarily because it is broken
- Not delay onServerStartedEvent and command registration for compatibility with LeviStone
0.9.7 - 2025-02-10
- Added more block for onRedStoneUpdate #212
- Fixed debug command output
- Fixed Player::talkAs & talkTo
- Fixed onMobHurt #236
- Fixed onEffectRemoved not triggered when effects are removed manually
0.9.6 - 2025-02-07
- Added
ll.onUnload#227 - Added onNpcCmd #226
- Added onEffectAdded/Updated/Removed
- Added onEntityTransformation
- Make version related api show LSE version instead of LeviLamina version
0.9.5 - 2025-02-04
- Added some api and event #220
- Updated translation
- Updated lightwebsocketclient #221
- Fixed onAte event #222 (#223)
0.9.4 - 2025-02-02
- Disabled LLSECallEventsOnHotUnload when server stops
- Fixed setTimeout can't be cancelled #219
- Fixed crash on unload
0.9.3 - 2025-01-30
- Fixed Player::clearItem #216
0.9.2 - 2025-01-29
- Removed redundant endl in ColorLog
- Add missing destroy engine when load failed
- Fixed Player/Entity::getBlockFromViewVector #214
- Fixed Player/Entity::isOnHotBlock
- Fixed Player::setAbility #213
- Fixed Logger::setLogLevel & ColorLog
- Fixed debug engine's logger
- Fixed npm executing #204
0.9.1 - 2025-01-26
- Fix issue of preRelease in registerPlugin
0.9.0 - 2025-01-25
- Implemented Logger::setTitle
- Added mysql support except for Node.js engine
- Add FormCancelReason for GuiAPI
- Implemented registerPlugin for old plugins
- Fix setAbility
- Fix runtime command warning
- Add missing stacktrace in catch
- Add missing LLSECallEventsOnHotUnload and fix unload
0.9.0-rc.5 - 2025-01-15
- Add missing condition for onContainerChange
- Fix onFarmLandDecay cancellation
- Fix processConsolePipCmd #208
- Fix NodeJs engine disabling
0.9.0-rc.4 - 2025-01-13
- Find modules in python engine's directory
0.9.0-rc.3 - 2025-01-12
- Support LeviLamina 1.0.0-rc.3
0.9.0-rc.2 - 2025-01-10
- Fix command compatibility
- Fix System::cmd and System::newProcess #203
- Fix npm & pip command
0.9.0-rc.1 - 2025-01-09
- Support LeviLamina 1.0.0-rc.2
- Replace QuickJs with QuickJs-Ng v0.8.0
- Upgrade Lua to v5.4.7
- Upgrade NodeJs to v22.12.0
- Upgrade Python to v3.12.8
- Refactor command api
0.8.20 - 2024-12-01
- Fix setGameMode
- Fix clearItem #186
0.8.19 - 2024-08-23
- Remove NativeAPI completely
- Fix LLSECallEventsOnHotLoad's position
- Fix Entity::teleport with 2 argument
0.8.18 - 2024-08-12
- Fix onMobHurt #157
0.8.17 - 2024-08-10
- Add valid check for Entity
0.8.16 - 2024-08-10
- Fix EntityAPI completely #157
0.8.15 - 2024-08-09
- Refactoring PlayerAPI & EntityAPI & DeviceAPI
- Refactoring ItemAPI
0.8.14 - 2024-08-08
- Fix NbtAPI constructor #160
0.8.13 - 2024-08-08
- Add uuid support for
mc.getPlayer() - Add new PlayerInfo API
- Fix simulateLookAt #146
0.8.12 - 2024-08-07
- Fix bugs related to Nbt ownership
0.8.11 - 2024-08-07
- Refactoring DeviceAPI to prevent crash
- Add missing Logger::setPlayer
0.8.10 - 2024-08-06
- Fix Entity::toPlayer
0.8.9 - 2024-08-05
- Refactoring PlayerAPI
- Fix onMobHurt crash
- Fix DefaultDataLoadHelper
0.8.8 - 2024-08-05
- Fix setNbt bug
- Refactor MoreGlobal
- Fix a critical issue in 0.8.7
0.8.7 - 2024-08-04
- Adapt to LeviLamina 0.13.5
- Remove useless output
- Remove useless translation
- Refactor translation
0.8.6 - 2024-08-03
- Fix onMobHurt exception #157
0.8.5 - 2024-07-29
- Downgrade cpp-httplib
- Refactoring some confusing code
- Remove useless package for python engine
0.8.4 - 2024-07-24
- Adapt to LeviLamina 0.13.4
0.8.3 - 2024-07-14
0.8.2 - 2024-07-12
- Fix onLiquidFlow's behavior
- Fix player attribute setter (#149)
0.8.1 - 2024-06-23
0.8.0 - 2024-06-18
- Adapt to LeviLamina 0.13.x
0.7.12 - 2024-05-22
- Fix onPistonTryPush & onPistonPush #137
0.7.11 - 2024-05-11
- Fix unload #134
0.7.10 - 2024-05-09
- Allow nodejs engine unload
- Fix transMoney
- Fix nodejs engine in Non-English directory
0.7.9 - 2024-05-07
- Not create manifest.json when migrating if it exists
- Add compability for mc.explode
0.7.8 - 2024-05-04
- Fix HttpServer
- Make FileSystemAPI supports utf-8
0.7.7 - 2024-05-03
- Fix #123
0.7.6 - 2024-05-02
- Remove error log in some api
0.7.5 - 2024-05-02
- Add missing hopper events #88
- Replace SimulatedPlayer::create
- Fix unexpected situation of onMobDie
- Fix some stupid exception process
0.7.4 - 2024-05-02
- Make onPlaceBlock returning placing face
- Fix truePos pre calculation
- Fix onProjectileHitBlock & onProjectileHitEntity #108
- Fix mc.explode #111
0.7.3 - 2024-05-01
0.7.2 - 2024-04-29
- Fix output of runcmdEx not integrity
0.7.1 - 2024-04-29
- Disable unload in node engine
- Fix PluginManager's error
0.7.0 - 2024-04-28
- Adapt to LeviLamina 0.12.x
0.6.4 - 2024-04-21
- Fix NetworkAPI's callback
- Enlarge NewProcess's buffer #48
0.6.3 - 2024-04-20
- Set snbt format to ForceQuote in toSNBT
- Fix NetworkPacket #50
0.6.2 - 2024-04-14
0.6.1 - 2024-04-13
0.6.0 - 2024-04-13
0.5.4 - 2024-04-08
- Fix getPlayerNbt #94
- Fix offline setPlayerNbt
0.5.3 - 2024-04-05
0.5.2 - 2024-03-28
0.5.1 - 2024-03-27
- Support LeviLamina 0.10.x
- Add judgement in getEnderChest
- Fix #76
0.4.15 - 2024-03-24
0.4.14 - 2024-03-18
- Support LeviLamina 0.9.5
0.4.13 - 2024-03-15
- Fix economy related events
- Fix some events cancelled wrongly
0.4.12 - 2024-03-15
- Add onUseBucketPlace & onUseBucketTake #70
- Make event's behavior match LLSE
- Fix setInterval #71
0.4.11 - 2024-03-14
- Fix some api about create directory
0.4.10 - 2024-03-14
- Support LeviLamina 0.9.3
- Fix
setTimeoutdead lock completely
0.4.8 - 2024-03-10
- Fix
setTimeoutdead lock problem
0.4.7 - 2024-03-10
- Add onPlayerPullFishingHook
- Add onScoreChanged
0.4.6 - 2024-03-10
- Add python & nodejs support (#62)
- Fix some scoreboard api (#60)
0.4.3 - 2024-03-03
- Add seh translator
- Fix getAllTags (#56)
- Fix return value of runcmdEx #54
- Fix HttpServer exception #53
- Fix an error in Player::getAllItems
- Fix uncaught exception while loading plugins
- Fix Player::clearItem
0.4.2 - 2024-03-02
- Add Device::inputMode
- Fix Player::serverAddress #52
0.4.1 - 2024-02-25
0.4.0 - 2024-02-24
- Support LeviLamina 0.9.x
0.3.2 - 2024-02-23
- Refactor plugin manager
0.3.1 - 2024-02-21
- Fix player score API (#36)
0.3.0 - 2024-02-13
- Support LeviLamina 0.8.x
- Fix
Player::talkAs - Fix Chinese path related problems
- Fix an error in
onMobSpawned
0.2.4 - 2024-02-08
- Fix onCmdBlockExecute
0.2.2 - 2024-02-06
- Fix runcmdEx error when command has no output
0.2.1 - 2024-02-06
- Fix endless loop
0.2.0 - 2024-02-06
- Support LeviLamina 0.7.x
- Fix Device::getIP
0.1.6 - 2024-02-05
- Fix a logic error while migrating old plugins
0.1.5 - 2024-02-05
- Fix some error while migrating old plugins
0.1.4 - 2024-02-05
- First release.