diff --git a/changelog.md b/changelog.md
index d7e0ee3b8648fa015cf8711a39d91e827c20a3f7..533dd3df090ac54471f72e602ffd062a6a171822 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,13 @@
 # changelog
 
+## 2.4.2
+`2021-10-8`
+* `FIX` [#702](https://github.com/sumneko/lua-language-server/issues/702)
+* `FIX` [#706](https://github.com/sumneko/lua-language-server/issues/706)
+* `FIX` [#707](https://github.com/sumneko/lua-language-server/issues/707)
+* `FIX` [#709](https://github.com/sumneko/lua-language-server/issues/709)
+* `FIX` [#712](https://github.com/sumneko/lua-language-server/issues/712)
+
 ## 2.4.1
 `2021-10-2`
 * `FIX` broken with single file
diff --git a/package.json b/package.json
index fd4b8948ce3bb16c2eba87e47f0fc60f61780dd9..c577a8c04274a992d41c4170dca5898566811d10 100644
--- a/package.json
+++ b/package.json
@@ -1501,7 +1501,7 @@
                         "variable.parameter.lua"
                     ],
                     "property": [
-                        "variable.other.property.lua"
+                        "entity.other.attribute.lua"
                     ],
                     "property.declaration": [
                         "entity.other.property.lua"
@@ -1550,5 +1550,5 @@
         "type": "git",
         "url": "https://github.com/sumneko/lua-language-server"
     },
-    "version": "2.4.1"
+    "version": "2.4.2"
 }
diff --git a/package/build.lua b/package/build.lua
index 1a0492796de81647441fc77c6597ec68de6a4dbb..aee8bb1df77881d7998c7dfe02ee1c91c549ce91 100644
--- a/package/build.lua
+++ b/package/build.lua
@@ -1,6 +1,6 @@
 local json = require 'json-beautify'
 
-local VERSION = "2.4.1"
+local VERSION = "2.4.2"
 
 local package = require 'package.package'
 local fsu     = require 'fs-utility'
diff --git a/publish.lua b/publish.lua
index 58c1a6f515ccd04e8697311a7ae9839120b38f54..e9ff928dc7bde8cadd49944536e50995c34d0439 100644
--- a/publish.lua
+++ b/publish.lua
@@ -3,7 +3,6 @@ local rootPath = currentPath:gsub('[^/\\]-$', '')
 if rootPath == '' then
     rootPath = './'
 end
-loadfile(rootPath .. 'server/platform.lua')('script')
 local fs         = require 'bee.filesystem'
 local subprocess = require 'bee.subprocess'
 local platform   = require 'bee.platform'
@@ -14,6 +13,7 @@ local fsu        = require 'fs-utility'
 package.path = package.path
     .. ';' .. rootPath .. '/?.lua'
 ROOT = fs.path(rootPath)
+fs.current_path(ROOT)
 require 'package.build'
 dofile(rootPath .. 'setting/build.lua')
 local json = require 'json'
diff --git a/server b/server
index 70335a4e87c2d8b82a30926c2560efde94d2587b..8f24287d7f1190a5fff5f85de3f403d84bebf79c 160000
--- a/server
+++ b/server
@@ -1 +1 @@
-Subproject commit 70335a4e87c2d8b82a30926c2560efde94d2587b
+Subproject commit 8f24287d7f1190a5fff5f85de3f403d84bebf79c