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.12 - 2026-04-01
- Bumped ScriptX to 2026.4.1
- Bumped quickjs-ng to v0.13.0
- Bumped lua to v5.5.0
- Fixed memory leak issue in Python engine #343
0.17.11 - 2026-04-01
- Replaced legacy CommandCompatibleAPI(fake command based on event) with LegacyCommandAPI(real registered command)
- Improved translations
0.17.10 - 2026-03-31
- Added globalEngineSnapshot to improve performance
0.17.9 - 2026-03-30
- Breaking Change: Exceptions will be thrown to scripts directly when API calls fail, instead of returning null or undefined. This may cause some old scripts to break if they don't handle exceptions properly. @zimuya4153 @ShrBox
- Fixed the nbt get @zimuya4153
- Fixed TextPacket #358 @ShrBox
0.17.8 - 2026-03-24
- Fixed the container close event #294 @zimuya4153
- Fixed Node.js installation for tooth.json in newer version of lip
0.17.7 - 2026-03-08
- Update 7-zip tooth url in tooth.json
0.17.6 - 2026-03-07
- Rollbacked LightWebSocketClient to v1.0.1
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.