diff --git a/README.suse-maint.md b/README.suse-maint.md
index b77e1b4..9235c1c 100644
--- a/README.suse-maint.md
+++ b/README.suse-maint.md
@@ -1,17 +1,17 @@
-# How to update the lua-language-server package
-
-## Prerequisites:
-
-You need the `tar_scm` and `download_url` obs service installed:
-
- zypper in obs-service-tar_scm obs-service-download_url
-
-## Updating to a new version from upstream
-
-Edit the `_service` and `spec` file and update the version variable.
-
-Download the new source file by running:
-
- osc service disabledrun
-
-Update the changelog file with the upstream release notes.
+-# How to update the lua-language-server package
+-
+-## Prerequisites:
+-
+-You need the `obs_scm` obs service installed:
+-
+- zypper in obs-service-obs_scm
+-
+-## Updating to a new version from upstream
+-
+-Edit the `_service` file and update the version variable.
+-
+-Download the new source file by running:
+-
+- osc service manualrun
+-
+-Update the changelog file with the upstream release notes.
diff --git a/_service b/_service
index a979286..9255e76 100644
--- a/_service
+++ b/_service
@@ -1,24 +1,16 @@
+
-
- https://github.com/LuaLS/lua-language-server
- @PARENT_TAG@
- git
- .git
- 3.7.4
- (.*)
- \1
-
-
- https
- github.com
- LuaLS/lua-language-server/releases/download/3.7.4/lua-language-server-3.7.4-submodules.zip
-
-
-
- *.tar
- gz
-
-
- lua-language-server
-
+
+ git
+ https://github.com/LuaLS/lua-language-server
+ refs/tags/3.13.6
+ @PARENT_TAG@
+ enable
+
+
+
+
+ *.tar
+ gz
+
diff --git a/lua-language-server-3.13.6.obscpio b/lua-language-server-3.13.6.obscpio
new file mode 100644
index 0000000..ffddeff
--- /dev/null
+++ b/lua-language-server-3.13.6.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c81801c1fe212527e15c39622b5a5ba8bd4b4cb3707807bd64a42e949181e2a6
+size 84190734
diff --git a/lua-language-server-3.7.4-submodules.zip b/lua-language-server-3.7.4-submodules.zip
deleted file mode 100644
index cca066e..0000000
--- a/lua-language-server-3.7.4-submodules.zip
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4993365d2fd34ea460d5614927c752f27294181a6304901c3198a9defced673b
-size 31527026
diff --git a/lua-language-server-3.7.4.tar.gz b/lua-language-server-3.7.4.tar.gz
deleted file mode 100644
index 5ac9a7b..0000000
--- a/lua-language-server-3.7.4.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8d38ea649ed7e41da4b8005a6d0c1851814ec41550f1333e7f0b657f8c9da2b6
-size 2734715
diff --git a/lua-language-server.changes b/lua-language-server.changes
index f73dca4..b4d2c16 100644
--- a/lua-language-server.changes
+++ b/lua-language-server.changes
@@ -1,3 +1,190 @@
+-------------------------------------------------------------------
+Wed Feb 19 18:07:29 UTC 2025 - Matej Cepl
+
+- Add missing Source for README.suse-maint.md.
+
+-------------------------------------------------------------------
+Wed Feb 19 09:24:52 UTC 2025 - Richard Rahl
+
+- update to 3.13.6:
+ * Exit 1 when check error
+ * Send the correct insertTextFormat
+ * Fixed the error that the configuration file pointed to by the --configpath
+ option was not read and loaded
+ * unittest: support test specify unit test
+ * Improve generic pattern to support "T.*-"
+ * Mark function completion items as snippets
+ * Basic partial class support
+ * Fix typo in doc exporter
+ * LuaDoc. Fixed the start position of the comment first symbol in docs
+ * Improve generic pattern to support optional, union, array. Fixed regression.
+ * fix: bind variables with @class using tail comments
+ * Mark postfix completions as snippets
+ * Avoid truncating output in ---doc mode
+ * feat: add --check_format=json|pretty
+ * feat: add variable substitution support for vscode's ${workspaceFolder:x}
+ * fix: missing field completion for generic class object
+- update to 3.13.5:
+ * fix: incorrect infer of function array annotation on tables
+ * add settingLua.hint.awaitPropagate
+ * Add serverInfo.version to initialize response
+- update to 3.13.4:
+ * hover supports detail level
+ * pass tests
+ * Can adjust the level of detail of Hover
+- update to 3.13.3:
+ * Update Love2d version
+ * Fix missing-fields diagnostic not warning about missing inherited fields
+ * Added support for arrays in meta build tool
+- update to 3.13.2:
+ * doc: fulfill translations of zh-cn
+ * fix: add missing errs ~= nil checks to script/vm/type checkTableShape
+- update to 3.13.0:
+ * Fix table array infer
+ * fix: improve type narrow with literal alias param during completion and
+ signature help
+ * config: add custom repository support for addonManager
+ * add translate bot
+ * feat: infer function param when the function is passed as call arg
+- update to 3.12.0:
+ * fix: regression related to type narrow and generic since v3.10.1
+ * Fix vararg indices being unknown when iterated
+ * [reference] Check also in tablefield
+ * fix: parse storage path
+ * Imports in Quick Fix are now allowed
+- update to 3.11.1:
+ * update format 1.5.6
+ * Fix syntax errors in the Japanese locale
+ * Add storagePath handling and memoization to resolvePathPlaceholders
+ * Return markdown from getFunctionComment to temporarily preserve trailing
+ newlines
+- update to 3.11.0:
+ * Add Japanese translations
+ * Remove luamake install from make.sh and make.bat
+ * Use string.format to fix floating point error in test output
+ * Infer function parameter types when overriding the same-named class
+ function in an instance of that class
+ * feat: type narrow types with literal fields
+ * add: placeholder for ${addons} for paths
+ * lint: cleanup unused code and redefined locals
+ * Support using ---@class on rawset(_G, ...) to annotate the created global variable
+ * fix: type narrow on fields with multiple literals
+- update to 3.10.6:
+ * custom luadoc generation
+ * Fix setfenv definition
+ * Fix VM plugins
+ * fix: improve function type narrow by checking params' literal identical
+ * Fix incorrect function params' type infer when there is only @overload
+ * Fix correctly display enums for function overload arguments
+ * Only call workspace/configuration when available
+ * fix(completion): remove logic causing wrong text edits
+ * Fixed injects into child classes
+- update to 3.10.4:
+ * FIX: Changed hello param to valid JSONRPC
+ * fix(hint): attempt to index a nil value
+ * fix: improve textDocument/definition ordering
+ * Fix lua-language-server --check
+ * Revert "fix: improve textDocument/definition ordering"
+ * check that the shape of the table corresponds to the class
+- update to 3.10.3:
+ * fix memory leak with ---@enum
+- update to 3.10.2:
+ * feat: flip binary operator check if failed
+- update to 3.10.1:
+ * Disable indentation fixing for Non-VSCode
+- update to 3.10.0:
+ * Fix plugin arg arrays when paths contain numbers passing along only one argument
+ * Add postfix snippet for unpack
+ * Add support for lambda-style functions
+ * fix: default severity in CLI with partial 'diagnostics.severity' config
+ * Perf: Improve performance of multithreaded --check and undefined-field diagnostic
+ * fix: respect showParams config for local function completion
+ * update format
+ * Remove nodiscard from string.gsub
+ * Align inlay hint spacing with other LSPs
+ * fix: add a missing check for 'inject-field' diagnostics
+ * added lua regular expression support for Lua.doc.Name
+ * fix a specific case for getVisibleType
+ * Fixed wholeMatch function
+ * fix: inconsistent type narrow due to outdated node caches of call.args
+ * Fix typos in annotation descriptions
+ * fix: incorrect CompletionItemKind for postfix snippets
+ * improve the missing-fields logic to be able to correctly handle classes
+ defined several times
+- update to 3.9.3:
+ * FIX Sometimes providing incorrect autocompletion when chaining calls
+- update to 3.9.2:
+ * Disable await.delay() when running --check
+ * Update love2d-api to 11.5
+ * add: workflow to assert changelog updates
+ * Add schema link to .luarc.json
+ * Bump EmmyLuaCodeStyle
+ * add: resolve links to symbols in markdown descriptions
+ * Throttle calls to await.delay() in some diagnostics
+ * don't do diagnostics when workspace is not ready
+- update to 3.9.1:
+ * Add globalsRegex to diagnostics
+ * Add multi-process support to --check
+ * Fix linux-arm64 build
+ * add: load ENV variables as args
+ * fix: convert ENV value to bool
+- update to 3.9.0:
+ * Fix linux-arm64 build
+ * Add multi-process support to --check
+ * Add setting to find globals using regex
+ * add: load ENV variables as args
+- update to 3.8.3:
+ * update bee
+- update to 3.8.0:
+ * bit meta: tohex returns a string
+ * Pad return type annotations when required
+ * plugin: add OnTransformAst interface
+ * update format 1.4.3
+ * astHelper: addParamTypeDoc
+ * support multi plugins
+ * Automatic derivation function param type
+ * Never sematic virtual ast and comment
+ * fix guide.getParams
+ * Plugin on node compile function param
+ * Add table.move() to LuaJIT compatibility
+ * Add --visualize command that outputs the AST of a given file as graphviz
+ * Add group param for luadoc generated by plugins
+ * Added 'desc' and 'rawdesc' keys for variables in JSON output
+ * Added 'visible' key (public, protected, ...) in JSON output
+ * CLI option --doc_out_path
+ * support tuple type
+ * Enable plugins during --check
+ * update format 1.5.0
+ * Desc/rawdesc for vararg expressions in JSON output
+ * Add "deprecated" key in JSON output
+ * add infer function param type
+ * update test
+ * Add "async" key in JSON output
+ * Revert "Add "async" key in JSON output."
+ * Revert "Add "deprecated" key in JSON output."
+ * Add "async" and "deprecated" key to JSON output
+ * Only load files in workspace for --check (skip libraries)
+ * Add CLI option to trust all plugins
+ * Flush stdout in check progress indicator
+ * Update doc.json
+ * Fix potential crash issues on Windows
+ * doc param support generic pattern
+ * update format 1.5.2
+ * Fix typo in config.json
+ * Allow plugins to resolve require paths
+ * Update compiler.lua
+ * Detect discard-returns in all block types
+ * meta: improve typing for unpack
+ * Run diagnostics on unopened files when explicitly requested by the user
+ * Output more details while running --check
+- rewrite the _service file, so we can include the submodules, and move to
+ manual service runs, as disabled is going to be deprecated
+- write the wrapper so we can have multiple instances
+- remove limitations on the buildarches, as they build fine (outside of the tests)
+- test only on x86_64, as the other arches too flaky (while x86_64 also quite often flakes)
+- update README.suse-maint.md file to reflect how to update the package
+- use newer upstream url
+
-------------------------------------------------------------------
Fri Jan 5 07:30:11 UTC 2024 - Kyle Scheuing
diff --git a/lua-language-server.obsinfo b/lua-language-server.obsinfo
new file mode 100644
index 0000000..86336ef
--- /dev/null
+++ b/lua-language-server.obsinfo
@@ -0,0 +1,4 @@
+name: lua-language-server
+version: 3.13.6
+mtime: 1738826052
+commit: b0b5c8f17fdcb6f8d6244eca48b8fc053e9b15ea
diff --git a/lua-language-server.spec b/lua-language-server.spec
index 17eb415..0f77dfe 100644
--- a/lua-language-server.spec
+++ b/lua-language-server.spec
@@ -1,7 +1,7 @@
#
# spec file for package lua-language-server
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2021 Andreas Schneider
#
# All modifications and additions to the file contributed by third parties
@@ -18,42 +18,34 @@
Name: lua-language-server
-Version: 3.7.4
+Version: 3.13.6
Release: 0
Summary: Lua Language Server coded by Lua
License: MIT
URL: https://github.com/LuaLS/lua-language-server
-Source0: %{url}/releases/download/%{version}/%{name}-%{version}-submodules.zip
-Source1: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
-Source2: lua-lsp-launcher.sh
-Source3: README.suse-maint.md
-# PATCH-FIX-UPSTREAM time_includes.patch gh#sumneko/lua-language-server#1377 mcepl@suse.com
-# Add missing #include
-# Patch0: time_includes.patch
-BuildRequires: fdupes
-BuildRequires: gcc-c++
+Source0: %{name}-%{version}.tar.gz
+Source1: lua-lsp-launcher.sh
+Source99: README.suse-maint.md
+BuildRequires: c++_compiler
BuildRequires: ninja
-BuildRequires: unzip
-ExcludeArch: s390x ppc64le ppc64
%description
This package provides a Language Server Protocol (LSP) implementation for Lua.
%prep
-%autosetup -c
+%autosetup -p1
+install -m 644 %{SOURCE99} .
%build
-export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
ninja -C 3rd/luamake -f compile/ninja/linux.ninja
./3rd/luamake/luamake all
%install
-install -d -m 0755 %{buildroot}%{_libexecdir}/%{name}
-cp -av bin/* %{buildroot}%{_libexecdir}/%{name}
+install -Dm0755 bin/%{name} %{buildroot}%{_libexecdir}/%{name}/%{name}
-install -d -m 0755 %{buildroot}%{_datadir}/%{name}
+install -d %{buildroot}%{_datadir}/%{name}
cp -av \
debugger.lua \
main.lua \
@@ -62,20 +54,21 @@ cp -av \
meta \
%{buildroot}%{_datadir}/%{name}/
-install -d -m 0755 %{buildroot}%{_bindir}
-sed -e 's#@LIBEXECDIR@#%{_libexecdir}#' %{SOURCE2} > %{buildroot}%{_bindir}/%{name}
+install -d %{buildroot}%{_bindir}
+sed -e 's#@LIBEXECDIR@#%{_libexecdir}#' %{SOURCE1} > %{buildroot}%{_bindir}/%{name}
chmod 0755 %{buildroot}%{_bindir}/%{name}
-%fdupes %{buildroot}%{_libexecdir}/%{name} %{buildroot}%{_datadir}/%{name}
-
+%ifarch x86_64
+#tests are very flaky on non x86_64
%check
-./3rd/luamake/luamake bee-test unit-test
+./3rd/luamake/luamake unit-test
+%endif
%files
%license LICENSE
-%doc README.md changelog.md
+%doc README.md changelog.md README.suse-maint.md
%{_bindir}/%{name}
-%{_libexecdir}/%{name}/
-%{_datadir}/%{name}/
+%{_libexecdir}/%{name}
+%{_datadir}/%{name}
%changelog
diff --git a/lua-lsp-launcher.sh b/lua-lsp-launcher.sh
index 5ef395c..65e2493 100644
--- a/lua-lsp-launcher.sh
+++ b/lua-lsp-launcher.sh
@@ -2,9 +2,10 @@
cd /usr/share/lua-language-server/ || exit 1
-TMPPATH=$(mktemp -d "/tmp/lua-language-server.XXXX")
-DEFAULT_LOGPATH="${TMPPATH}/log"
-DEFAULT_METAPATH="${TMPPATH}/meta"
+TMPPATH=$(mktemp -d "/tmp/lua-language-server-$(id -u)")
+INSTANCEPATH="${mktemp -d $TMPPATH/instance-.XXXXXX"}"
+DEFAULT_LOGPATH="${INSTANCEPATH}/log"
+DEFAULT_METAPATH="${INSTANCEPATH}/meta"
exec @LIBEXECDIR@/lua-language-server/lua-language-server \
-E ./main.lua \