Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kak-lsp for openSUSE:Factory checked 
in at 2026-08-09 21:44:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kak-lsp (Old)
 and      /work/SRC/openSUSE:Factory/.kak-lsp.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kak-lsp"

Sun Aug  9 21:44:44 2026 rev:24 rq:1370358 version:21.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/kak-lsp/kak-lsp.changes  2026-06-08 
14:25:18.721037084 +0200
+++ /work/SRC/openSUSE:Factory/.kak-lsp.new.16738/kak-lsp.changes       
2026-08-09 21:46:48.321733650 +0200
@@ -1,0 +2,38 @@
+Sat Aug  8 18:59:33 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 21.0.2:
+  * Fix a regression that broke compatibility with Kakoune versions
+    older than 2026.05.21
+  * Add a default configuration for Hare, using hare-lsp
+  * Fix hangs after editing a file without a trailing newline, such
+    as an empty file
+  * Use nixd instead of nil as the default language server for nix
+  * Fix buffer-sync corruption when .editorconfig sets
+    insert_final_newline = false
+- Correct the License tag to
+  CC0-1.0 AND ISC AND MIT AND (MIT OR Unlicense) AND MPL-2.0 AND
+  Unicode-3.0 AND Zlib, re-derived from the vendored registry on this
+  update. The previous tag enumerated the vendored OR-groups but
+  omitted Unicode-3.0, ISC, CC0-1.0 and the bare MPL-2.0 of
+  option-ext, which is linked through dirs and dirs-sys. The
+  derivation is recorded in a Legal-Review-Notice comment above the
+  tag.
+- Drop the CARGO_TARGET_DIR exports: they referred to the undefined
+  macro %{_buildir}, so the value expanded literally and cargo wrote
+  its target directory to an oddly named path inside the build
+  directory. The packaging default is correct.
+- Build against pkgconfig(openssl) instead of openssl-devel.
+- Drop the obsolete %defattr from %files.
+- Run the upstream unit tests in a %check section.
+- Refresh the vendored registry. Recording the state of the open
+  vendored-crate CVEs against it, none of which this package is
+  affected by:
+  * CVE-2026-25541 (boo#1274502): bytes is 1.12.1, above the 1.11.1
+    fix
+  * CVE-2025-3416 (boo#1242654): the openssl crate is 0.10.81, above
+    the 0.10.72 fix; it was already 0.10.80 before this update
+  * CVE-2025-55159 (boo#1248048): slab is 0.4.12, above the 0.4.11
+    fix; only 0.4.10 was ever affected and this package never
+    shipped it
+
+-------------------------------------------------------------------

Old:
----
  kak-lsp-20.0.0.tar.zst

New:
----
  kak-lsp-21.0.2.tar.zst

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kak-lsp.spec ++++++
--- /var/tmp/diff_new_pack.gifDDa/_old  2026-08-09 21:46:52.701883013 +0200
+++ /var/tmp/diff_new_pack.gifDDa/_new  2026-08-09 21:46:52.705883149 +0200
@@ -17,19 +17,35 @@
 
 
 Name:           kak-lsp
-Version:        20.0.0
+Version:        21.0.2
 Release:        0
 Summary:        Language Server Protocol client for Kakoune
-License:        (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR BSL-1.0 OR MIT) AND 
(Apache-2.0 OR MIT) AND (Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT) 
AND (Apache-2.0 OR MIT OR Zlib) AND (Apache-2.0 OR MIT OR MPL-2.0) AND (MIT OR 
Unlicense) AND (Apache-2.0 OR Zlib OR MIT) AND MIT AND Zlib AND Unlicense
+# Legal-Review-Notice: kak-lsp itself is "Unlicense OR MIT", but the binary
+# statically links the vendored Rust dependencies. Re-derived on this
+# re-vendor with "cargo tree --offline -e normal" over the vendored registry
+# (337 crates vendored, 167 in the linked graph). Only the licences that
+# cannot be satisfied by electing a permissive alternative are listed:
+#  - MPL-2.0 from option-ext, reached through dirs -> dirs-sys,
+#  - Unicode-3.0 (18 crates), MIT (20 crates), Zlib, ISC and CC0-1.0, each
+#    of which is the sole licence offered by the crate carrying it.
+# The slog family is "MPL-2.0 OR MIT OR Apache-2.0" and r-efi offers an
+# LGPL-2.1-or-later option; we elect the permissive alternative for the
+# former, and the latter is UEFI-target-only and absent from the Linux
+# graph. The previous tag enumerated the vendored OR-groups but omitted
+# Unicode-3.0, ISC, CC0-1.0 and the bare MPL-2.0 of option-ext.
+# MPL-2.0 section 3.2 is satisfied because the complete registry.tar.zst
+# ships in the src.rpm.
+License:        CC0-1.0 AND ISC AND MIT AND (MIT OR Unlicense) AND MPL-2.0 AND 
Unicode-3.0 AND Zlib
 URL:            https://github.com/kakoune-lsp/kakoune-lsp
 Source0:        %{name}-%{version}.tar.zst
 Source1:        registry.tar.zst
 BuildRequires:  cargo
 BuildRequires:  cargo-packaging
-BuildRequires:  openssl-devel
+BuildRequires:  pkgconfig
 BuildRequires:  zstd
-ExclusiveArch:  %{rust_tier1_arches}
+BuildRequires:  pkgconfig(openssl)
 Provides:       kakoune-lsp = %{version}
+ExclusiveArch:  %{rust_tier1_arches}
 
 %description
 kak-lsp is a Language Server Protocol client for Kakoune written in Rust.
@@ -39,18 +55,21 @@
 
 %build
 export CARGO_HOME="$PWD/.cargo"
-export CARGO_TARGET_DIR="%{_buildir}/%{buildsubdir}/target"
 %{cargo_build} --all-features
 
 %install
 export CARGO_HOME="$PWD/.cargo"
-export CARGO_TARGET_DIR="%{_buildir}/%{buildsubdir}/target"
+# Keep the braced form: the bare %%cargo_install parses --all-features as a
+# macro option and fails with "Unknown option - in cargo_install(p:)".
 %{cargo_install} --all-features
 mkdir -p %{buildroot}%{_datadir}/%{name}/rc
 install -Dm644 rc/lsp.kak %{buildroot}%{_datadir}/%{name}/rc/
 
+%check
+export CARGO_HOME="$PWD/.cargo"
+%{cargo_test} --all-features
+
 %files
-%defattr(-,root,root,-)
 %license UNLICENSE COPYING MIT
 %doc     README.asciidoc CHANGELOG.md
 %dir %{_datadir}/%{name}

++++++ _service ++++++
--- /var/tmp/diff_new_pack.gifDDa/_old  2026-08-09 21:46:52.737884240 +0200
+++ /var/tmp/diff_new_pack.gifDDa/_new  2026-08-09 21:46:52.745884513 +0200
@@ -4,7 +4,7 @@
     <param name="url">https://github.com/kakoune-lsp/kakoune-lsp.git</param>
     <param name="versionrewriteregex">^v?(.*)</param>
     <param name="versionrewritepattern">${1}</param>
-    <param name="revision">v20.0.0</param>
+    <param name="revision">v21.0.2</param>
     <param name="changesgenerate">true</param>
     <param name="set-name">kak-lsp</param>
     <param name="changesauthor">Soc Virnyl Estela</param>

++++++ kak-lsp-20.0.0.tar.zst -> kak-lsp-21.0.2.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kak-lsp-20.0.0/CHANGELOG.md 
new/kak-lsp-21.0.2/CHANGELOG.md
--- old/kak-lsp-20.0.0/CHANGELOG.md     1970-01-01 01:00:00.000000000 +0100
+++ new/kak-lsp-21.0.2/CHANGELOG.md     1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +1,24 @@
+## 21.0.2 - 2026-07-21
+
+Fixes:
+- Fixed a regression in 21.0.2 which broke compatibility with Kakoune versions 
older than 2026.05.21.
+
+## 21.0.1 - 2026-06-29
+
+Additions:
+- Default configuration for Hare, using 
[`hare-lsp`](https://git.sr.ht/~whynothugo/hare-lsp).
+
+Fixes:
+- Fix hangs after editing a file without trailing newline, such as empty files 
(#892).
+
+## 21.0.0 - 2026-05-18
+
+Breaking changes:
+- `nixd` replaces `nil` as default language server for nix (#890).
+
+Fixes:
+- Fix buffer-sync corruption when `.editorconfig` sets `insert_final_newline = 
false` (#891).
+
 ## 20.0.0 - 2026-04-16
 
 Breaking changes:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kak-lsp-20.0.0/Cargo.lock 
new/kak-lsp-21.0.2/Cargo.lock
--- old/kak-lsp-20.0.0/Cargo.lock       1970-01-01 01:00:00.000000000 +0100
+++ new/kak-lsp-21.0.2/Cargo.lock       1970-01-01 01:00:00.000000000 +0100
@@ -1048,7 +1048,7 @@
 
 [[package]]
 name = "kak-lsp"
-version = "20.0.0"
+version = "21.0.2"
 dependencies = [
  "clap",
  "crossbeam-channel",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kak-lsp-20.0.0/Cargo.toml 
new/kak-lsp-21.0.2/Cargo.toml
--- old/kak-lsp-20.0.0/Cargo.toml       1970-01-01 01:00:00.000000000 +0100
+++ new/kak-lsp-21.0.2/Cargo.toml       1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
 [package]
 name = "kak-lsp"
 description = "Kakoune Language Server Protocol Client"
-version = "20.0.0"
+version = "21.0.2"
 authors = ["Ruslan Prokopchuk <[email protected]>", "Johannes Altmanninger 
<[email protected]>"]
 edition = "2018"
 license = "Unlicense/MIT"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kak-lsp-20.0.0/README.asciidoc 
new/kak-lsp-21.0.2/README.asciidoc
--- old/kak-lsp-20.0.0/README.asciidoc  1970-01-01 01:00:00.000000000 +0100
+++ new/kak-lsp-21.0.2/README.asciidoc  1970-01-01 01:00:00.000000000 +0100
@@ -36,12 +36,12 @@
 [source,sh]
 ----
 [ "$(uname -sm)" = 'Darwin arm64' ] &&
-    curl -OL 
https://github.com/kakoune-lsp/kakoune-lsp/releases/download/v20.0.0/kakoune-lsp-v20.0.0-aarch64-apple-darwin.tar.gz
+    curl -OL 
https://github.com/kakoune-lsp/kakoune-lsp/releases/download/v21.0.2/kakoune-lsp-v21.0.2-aarch64-apple-darwin.tar.gz
 [ "$(uname -sm)" = 'Darwin x86_64' ] &&
-    curl -OL 
https://github.com/kakoune-lsp/kakoune-lsp/releases/download/v20.0.0/kakoune-lsp-v20.0.0-x86_64-apple-darwin.tar.gz
+    curl -OL 
https://github.com/kakoune-lsp/kakoune-lsp/releases/download/v21.0.2/kakoune-lsp-v21.0.2-x86_64-apple-darwin.tar.gz
 [ "$(uname)" = Linux ] &&
-    curl -OL 
https://github.com/kakoune-lsp/kakoune-lsp/releases/download/v20.0.0/kakoune-lsp-v20.0.0-x86_64-unknown-linux-musl.tar.gz
-tar xzvf kakoune-lsp-v20.0.0-*.tar.gz
+    curl -OL 
https://github.com/kakoune-lsp/kakoune-lsp/releases/download/v21.0.2/kakoune-lsp-v21.0.2-x86_64-unknown-linux-musl.tar.gz
+tar xzvf kakoune-lsp-v21.0.2-*.tar.gz
 # replace `~/.local/bin/` with something on your `$PATH`
 mv kak-lsp ~/.local/bin/
 ----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kak-lsp-20.0.0/rc/lsp.kak 
new/kak-lsp-21.0.2/rc/lsp.kak
--- old/kak-lsp-20.0.0/rc/lsp.kak       1970-01-01 01:00:00.000000000 +0100
+++ new/kak-lsp-21.0.2/rc/lsp.kak       1970-01-01 01:00:00.000000000 +0100
@@ -687,9 +687,21 @@
 }
 
 define-command -hidden lsp-send-buffer -params 1 %{
-    try %{ set-option local finaleol present }
-    lsp-send %arg{1} %val{buf_line_count}
-    evaluate-commands -no-hooks %{ write -force %opt{lsp_alt_fifo} }
+    evaluate-commands -save-regs a %{
+        try %{
+            unset-option window finaleol # TODO remove this
+            set-register a %opt{finaleol}
+            set-option buffer finaleol present
+        }
+        try %{
+            lsp-send %arg{1} %val{buf_line_count}
+            evaluate-commands -no-hooks %{ write -force %opt{lsp_alt_fifo} }
+            try %{ set-option buffer finaleol %reg{a} }
+        } catch %{
+            try %{ set-option buffer finaleol %reg{a} }
+            fail %val{error}
+        }
+    }
 }
 
 define-command -hidden lsp-did-change -docstring "Notify language server about 
buffer change" %{
@@ -2284,7 +2296,7 @@
         try %{
             evaluate-commands -draft -save-regs / %{
                 set-register / 
^\h*\K([^:\n]+):(\d+)\b(?::(\d+)\b)?(?::([^\n]+))
-                execute-keys <semicolon>xs<ret>
+                execute-keys ,<semicolon>xs<ret>
                 set-register a "%reg{1}"
                 set-register b "%reg{2}"
                 set-register c "%reg{3}"
@@ -2304,7 +2316,7 @@
         try %{
             evaluate-commands -draft -save-regs / %{
                 set-register / 
^\h*\K([^:\n]+):(\d+)\b(?::(\d+)\b)?(?::([^\n]+))
-                execute-keys <semicolon>xs<ret>
+                execute-keys ,<semicolon>xs<ret>
                 set-register b "%reg{2}"
                 set-register c "%reg{3}"
             }
@@ -2319,7 +2331,7 @@
     evaluate-commands -save-regs abcd %{
         evaluate-commands -draft -save-regs / %{
             set-register / ^\h*\K([^:\n]+):(\d+)\b(?::(\d+)\b)?(?::\h*([^\n]+))
-            execute-keys <semicolon>xs<ret>
+            execute-keys ,<semicolon>xs<ret>
             set-register a "%reg{1}"
             set-register b "%reg{2}"
             set-register c "%reg{3}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kak-lsp-20.0.0/rc/servers.kak 
new/kak-lsp-21.0.2/rc/servers.kak
--- old/kak-lsp-20.0.0/rc/servers.kak   1970-01-01 01:00:00.000000000 +0100
+++ new/kak-lsp-21.0.2/rc/servers.kak   1970-01-01 01:00:00.000000000 +0100
@@ -163,6 +163,14 @@
 
 }
 
+hook -group lsp-filetype-hare global BufSetOption filetype=hare %{
+    set-option buffer lsp_servers %{
+        [hare-lsp]
+        root_globs = [".git", ".hg"]
+        args = ["-S"]
+    }
+}
+
 hook -group lsp-filetype-haskell global BufSetOption filetype=haskell %{
     set-option buffer lsp_servers %{
         [haskell-language-server]
@@ -454,7 +462,7 @@
 
 hook -group lsp-filetype-nix global BufSetOption filetype=nix %{
     set-option buffer lsp_servers %{
-        [nil]
+        [nixd]
         root_globs = ["flake.nix", "shell.nix", ".git", ".hg"]
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kak-lsp-20.0.0/src/controller.rs 
new/kak-lsp-21.0.2/src/controller.rs
--- old/kak-lsp-20.0.0/src/controller.rs        1970-01-01 01:00:00.000000000 
+0100
+++ new/kak-lsp-21.0.2/src/controller.rs        1970-01-01 01:00:00.000000000 
+0100
@@ -746,7 +746,12 @@
     flow
 }
 
-fn read_to_end(to_editor: &ToEditorSender, file: &mut fs::File, buffer: 
&SharedBuffer) {
+fn read_to_end(
+    to_editor: &ToEditorSender,
+    file: &mut fs::File,
+    buffer: &SharedBuffer,
+    label: &str,
+) {
     {
         let mut buffer = buffer.lock();
         let offset = buffer.len();
@@ -757,7 +762,8 @@
         }
         debug!(
             to_editor,
-            "From editor (raw): {{{}}}",
+            "From editor (raw) via {}: {{{}}}",
+            label,
             &String::from_utf8_lossy(&buffer[offset..])
         );
     }
@@ -842,10 +848,10 @@
                     }
                     events.clear();
                     if readable1 {
-                        read_to_end(&to_editor, &mut fifo, &command_buffer);
+                        read_to_end(&to_editor, &mut fifo, &command_buffer, 
"command fifo");
                     }
                     if readable2 {
-                        read_to_end(&to_editor, &mut alt_fifo, &text_buffer);
+                        read_to_end(&to_editor, &mut alt_fifo, &text_buffer, 
"buffer fifo");
                     }
                     if FIFO_READER_DONE.load(Relaxed) {
                         break;
@@ -1375,6 +1381,18 @@
     }
 
     #[allow(deprecated)]
+    if is_using_legacy_toml(&ctx.config)
+        && meta
+            .language_server
+            .values()
+            .any(|server| !server.root_globs.is_empty() || 
!server.root.is_empty())
+    {
+        let msg = r#"Error: the legacy kak-lsp.toml configuration does not 
support the "root_globs"/"root" parameters, please use the new approach (via 
lsp_servers) or "roots""#;
+        ctx.show_error(mem::take(meta), msg);
+        return Some(ControlFlow::Continue(()));
+    }
+
+    #[allow(deprecated)]
     let legacy_cfg = ctx.legacy_filetypes.get(&meta.filetype);
     let server_addresses: Vec<(ServerName, RootPath)>;
     if is_using_legacy_toml(&ctx.config) {
@@ -1986,7 +2004,18 @@
                             continue;
                         };
                         let semantic_tokens_options: SemanticTokensOptions =
-                            serde_json::from_value(options).unwrap();
+                            // sourcekit-lsp shipped with Xcode 27.beta1 
workaround
+                            match serde_json::from_value(options) {
+                                Ok(v) => v,
+                                Err(e) => {
+                                    error!(
+                                        ctx.to_editor(),
+                                        "Failed to unmarshal semantic tokens 
options: {}",
+                                        e
+                                    );
+                                    continue;
+                                }
+                            };
                         let semantic_tokens_server_capabilities =
                             
SemanticTokensServerCapabilities::SemanticTokensRegistrationOptions(
                                 SemanticTokensRegistrationOptions {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kak-lsp-20.0.0/src/text_sync.rs 
new/kak-lsp-21.0.2/src/text_sync.rs
--- old/kak-lsp-20.0.0/src/text_sync.rs 1970-01-01 01:00:00.000000000 +0100
+++ new/kak-lsp-21.0.2/src/text_sync.rs 1970-01-01 01:00:00.000000000 +0100
@@ -99,21 +99,23 @@
 pub fn text_document_did_save(meta: EditorMeta, ctx: &mut Context) {
     for &server_id in &meta.servers {
         let server = ctx.server(server_id);
-        let options = match 
&server.capabilities.as_ref().unwrap().text_document_sync {
-            Some(TextDocumentSyncCapability::Options(TextDocumentSyncOptions {
-                save: Some(opts),
-                ..
-            })) if !matches!(opts, 
TextDocumentSyncSaveOptions::Supported(false)) => opts,
-            _ => continue, // don't send didSave by default
+        let include_text = match 
&server.capabilities.as_ref().unwrap().text_document_sync {
+            Some(TextDocumentSyncCapability::Options(TextDocumentSyncOptions { 
save, .. })) => {
+                match save {
+                    Some(TextDocumentSyncSaveOptions::SaveOptions(SaveOptions {
+                        include_text: Some(include_text),
+                    })) => *include_text,
+                    _ => continue,
+                }
+            }
+            _ => continue,
         };
-        let text = match options {
-            TextDocumentSyncSaveOptions::SaveOptions(SaveOptions {
-                include_text: Some(true),
-            }) => ctx
-                .documents
+        let text = if include_text {
+            ctx.documents
                 .get(&meta.buffile)
-                .map(|doc| doc.text.to_string()),
-            _ => None,
+                .map(|doc| doc.text.to_string())
+        } else {
+            None
         };
 
         let uri = file_path_to_uri(&meta.buffile);

++++++ registry.tar.zst ++++++
/work/SRC/openSUSE:Factory/kak-lsp/registry.tar.zst 
/work/SRC/openSUSE:Factory/.kak-lsp.new.16738/registry.tar.zst differ: char 7, 
line 1

Reply via email to