Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package editorconfig-checker for 
openSUSE:Factory checked in at 2026-01-30 18:27:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/editorconfig-checker (Old)
 and      /work/SRC/openSUSE:Factory/.editorconfig-checker.new.1995 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "editorconfig-checker"

Fri Jan 30 18:27:06 2026 rev:11 rq:1329944 version:3.6.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/editorconfig-checker/editorconfig-checker.changes    
    2025-11-26 18:50:25.031248707 +0100
+++ 
/work/SRC/openSUSE:Factory/.editorconfig-checker.new.1995/editorconfig-checker.changes
      2026-01-30 18:27:19.438239185 +0100
@@ -1,0 +2,30 @@
+Fri Jan 30 06:34:37 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 3.6.1:
+  * Bug Fixes
+    - empty charset on xlf files (#527) (ebaf1b9)
+    - github actions workflow example in readme (#528) (1e564b2)
+  * Dependencies
+    - chore(deps): bump anchore/sbom-action from 0.21.1 to 0.22.0
+      (#531)
+    - chore(deps): bump golang.org/x/text from 0.32.0 to 0.33.0
+      (#526)
+    - chore(deps): bump anchore/sbom-action from 0.21.0 to 0.21.1
+      (#525)
+    - chore(deps): bump github.com/gkampitakis/go-snaps from 0.5.18
+      to 0.5.19 (#524)
+    - chore(deps): bump anchore/sbom-action from 0.20.11 to 0.21.0
+      (#523)
+    - chore(deps): bump anchore/sbom-action from 0.20.10 to 0.20.11
+      (#518)
+    - chore(deps): bump
+      github.com/editorconfig/editorconfig-core-go/v2 (#522)
+    - chore(deps): bump golang.org/x/text from 0.31.0 to 0.32.0
+      (#516)
+    - chore(deps): bump github.com/gabriel-vasile/mimetype (#520)
+    - chore(deps): bump github.com/gkampitakis/go-snaps from 0.5.17
+      to 0.5.18 (#514)
+    - chore(deps): bump github.com/gkampitakis/go-snaps from 0.5.16
+      to 0.5.17 (#513)
+
+-------------------------------------------------------------------

Old:
----
  editorconfig-checker-3.6.0.obscpio

New:
----
  editorconfig-checker-3.6.1.obscpio

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

Other differences:
------------------
++++++ editorconfig-checker.spec ++++++
--- /var/tmp/diff_new_pack.tX8BcL/_old  2026-01-30 18:27:20.702292253 +0100
+++ /var/tmp/diff_new_pack.tX8BcL/_new  2026-01-30 18:27:20.702292253 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package editorconfig-checker
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define executable_name ec
 
 Name:           editorconfig-checker
-Version:        3.6.0
+Version:        3.6.1
 Release:        0
 Summary:        Tool to verify that your files are in harmony with your 
.editorconfig
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.tX8BcL/_old  2026-01-30 18:27:20.738293765 +0100
+++ /var/tmp/diff_new_pack.tX8BcL/_new  2026-01-30 18:27:20.742293933 +0100
@@ -3,7 +3,7 @@
     <param 
name="url">https://github.com/editorconfig-checker/editorconfig-checker</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v3.6.0</param>
+    <param name="revision">v3.6.1</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.tX8BcL/_old  2026-01-30 18:27:20.770295108 +0100
+++ /var/tmp/diff_new_pack.tX8BcL/_new  2026-01-30 18:27:20.774295276 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/editorconfig-checker/editorconfig-checker</param>
-              <param 
name="changesrevision">6b2f463397341e827af22305a5630d26a9aedc21</param></service></servicedata>
+              <param 
name="changesrevision">aa06cea887b26f372f9368aa53665266ec6dc364</param></service></servicedata>
 (No newline at EOF)
 

++++++ editorconfig-checker-3.6.0.obscpio -> editorconfig-checker-3.6.1.obscpio 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/editorconfig-checker-3.6.0/.release-please-manifest.json 
new/editorconfig-checker-3.6.1/.release-please-manifest.json
--- old/editorconfig-checker-3.6.0/.release-please-manifest.json        
2025-11-25 17:39:46.000000000 +0100
+++ new/editorconfig-checker-3.6.1/.release-please-manifest.json        
2026-01-28 21:45:37.000000000 +0100
@@ -1,3 +1,3 @@
 {
-    ".": "3.6.0"
+    ".": "3.6.1"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editorconfig-checker-3.6.0/CHANGELOG.md 
new/editorconfig-checker-3.6.1/CHANGELOG.md
--- old/editorconfig-checker-3.6.0/CHANGELOG.md 2025-11-25 17:39:46.000000000 
+0100
+++ new/editorconfig-checker-3.6.1/CHANGELOG.md 2026-01-28 21:45:37.000000000 
+0100
@@ -1,5 +1,13 @@
 # Changelog
 
+## 
[3.6.1](https://github.com/editorconfig-checker/editorconfig-checker/compare/v3.6.0...v3.6.1)
 (2026-01-22)
+
+
+### Bug Fixes
+
+* empty charset on xlf files 
([#527](https://github.com/editorconfig-checker/editorconfig-checker/issues/527))
 
([ebaf1b9](https://github.com/editorconfig-checker/editorconfig-checker/commit/ebaf1b91a7b75bbd09f39cea7dee2aa72891b3c6))
+* github actions workflow example in readme 
([#528](https://github.com/editorconfig-checker/editorconfig-checker/issues/528))
 
([1e564b2](https://github.com/editorconfig-checker/editorconfig-checker/commit/1e564b21ad9dce1bb242ee1acc8b8cec6083ad86))
+
 ## 
[3.6.0](https://github.com/editorconfig-checker/editorconfig-checker/compare/v3.5.0...v3.6.0)
 (2025-11-25)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editorconfig-checker-3.6.0/README.md 
new/editorconfig-checker-3.6.1/README.md
--- old/editorconfig-checker-3.6.0/README.md    2025-11-25 17:39:46.000000000 
+0100
+++ new/editorconfig-checker-3.6.1/README.md    2026-01-28 21:45:37.000000000 
+0100
@@ -25,11 +25,10 @@
          1. [via configuration](#via-configuration)
          2. [via arguments](#via-arguments)
 7. [Charset Setting](#charset-setting)
-8. [Docker](#docker)
-9. [Continuous Integration](#continuous-integration)
-10. [Support](#support)
-11. [Contributing](#contributing)
-12. [Semantic Versioning Policy](#semantic-versioning-policy)
+8. [Continuous Integration](#continuous-integration)
+9. [Support](#support)
+10. [Contributing](#contributing)
+11. [Semantic Versioning Policy](#semantic-versioning-policy)
 
 ## What?
 
@@ -60,7 +59,7 @@
 
 <!-- x-release-please-start-version -->
 ```shell
-VERSION="v3.6.0"
+VERSION="v3.6.1"
 OS="linux"
 ARCH="amd64"
 curl -O -L -C - 
https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$VERSION/ec-$OS-$ARCH.tar.gz
 && \
@@ -71,33 +70,84 @@
 
 ## Installation
 
+You can install **editorconfig-checker** in several ways, depending on your 
platform and preferences:
+
+### 1. Using Go
+
+If you have Go installed, you can install **editorconfig-checker** with the 
following command:
+
+```shell
+go install 
github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker@latest
+```
+
+### 2. Download Prebuilt Binaries
+
 Grab a binary from the [release 
page](https://github.com/editorconfig-checker/editorconfig-checker/releases).
 
-If you have go installed you can run `go get 
github.com/editorconfig-checker/editorconfig-checker/v3` <!-- 
x-release-please-major -->
-and run `make build` inside the project folder.
-This will place a binary called `ec` into the `bin` directory.
 
-If you are using Arch Linux, you can use 
[pacman](https://wiki.archlinux.org/title/Pacman) to install from [extra 
repository](https://archlinux.org/packages/extra/x86_64/editorconfig-checker/):
+### 3. Using Nix
+
+If you use [Nix](https://nixos.org/):
 
 ```shell
-pacman -S editorconfig-checker
+nix-env -iA nixpkgs.editorconfig-checker
 ```
 
-Also, development (VCS) package is available in the 
[AUR](https://aur.archlinux.org/packages/editorconfig-checker-git):
+Or, with flakes:
 
 ```shell
-# <favourite-aur-helper> <install-command> editorconfig-checker-git
+nix run nixpkgs#editorconfig-checker
+```
 
-# i.e.
-paru -S editorconfig-checker-git
+### 4. Using Docker
+
+You can run **editorconfig-checker** inside a Docker container without 
installing it locally:
+
+```shell
+docker run --rm --volume=$PWD:/check mstruebing/editorconfig-checker
 ```
 
-If Go 1.16 or greater is installed, you can also install it globally via `go 
install`:
+This command mounts your current directory into the container and runs the 
check inside it.
+
+See also: [Docker Hub: 
mstruebing/editorconfig-checker](https://hub.docker.com/r/mstruebing/editorconfig-checker)
+
+### 5. Using mise (Polyglot Tool Version Manager)
+
+If you use [mise](https://github.com/jdx/mise), install with:
 
 ```shell
-go install 
github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker@latest
+mise use -g editorconfig-checker@latest
+```
+
+### 6. Using Homebrew
+
+If you use [Homebrew](https://brew.sh/) on macOS or Linux:
+
+```shell
+brew install editorconfig-checker
 ```
 
+### 7. Arch Linux
+
+- Install from the [extra 
repository](https://archlinux.org/packages/extra/x86_64/editorconfig-checker/):
+  ```shell
+  pacman -S editorconfig-checker
+  ```
+- Or install the development (VCS) package from the 
[AUR](https://aur.archlinux.org/packages/editorconfig-checker-git):
+  ```shell
+  # With your favorite AUR helper, e.g.:
+  paru -S editorconfig-checker-git
+  ```
+
+### Language Specific Wrappers:
+
+We do have a couple of language specific wrappers available that you can 
install with your favorites language package manager.
+See their respective documentation for installation and usage instructions.
+
+* JavaScript/TypeScript: [npm 
package](https://www.npmjs.com/package/editorconfig-checker)
+* Python: [PyPI package](https://pypi.org/project/editorconfig-checker/)
+* PHP: [Composer 
package](https://packagist.org/packages/editorconfig-checker/editorconfig-checker)
+
 ## Usage
 
 ```txt
@@ -487,15 +537,30 @@
 If a file's encoding can't be determined, we identify the encoding as 
`unknown`,
 report the issue, and decode the file using the default decoder.
 
-## Docker
+## Continuous Integration
 
-You are able to run this tool inside a Docker container.
-To do this you need to have Docker installed and run this command in your 
repository root which you want to check:
-`docker run --rm --volume=$PWD:/check mstruebing/editorconfig-checker`
+### GitHub Actions
 
-Docker Hub: 
[mstruebing/editorconfig-checker](https://hub.docker.com/r/mstruebing/editorconfig-checker)
+You can use **editorconfig-checker** in your GitHub Actions workflows to 
automatically check your codebase for `.editorconfig` compliance on every push 
or pull request.
 
-## Continuous Integration
+Example workflow step:
+
+```yaml
+- name: Set up editorconfig-checker
+  uses: editorconfig-checker/action-editorconfig-checker@main
+
+- name: Run editorconfig-checker
+  run: editorconfig-checker
+```
+
+See also: [action-editorconfig-checker 
repository](https://github.com/editorconfig-checker/action-editorconfig-checker)
+
+### GitLab CI
+
+The [ss-open/ci/recipes project](https://gitlab.com/ss-open/ci/recipes) offers 
a ready to use lint job integrating editorconfig-checker.
+
+- Main documentation: 
<https://gitlab.com/ss-open/ci/recipes/-/blob/main/README.md>
+- Editorconfig job specific documentation: 
<https://gitlab.com/ss-open/ci/recipes/-/blob/main/stages/lint/editorconfig/README.md>
 
 ### Mega-Linter
 
@@ -510,17 +575,10 @@
   - EDITORCONFIG
 ```
 
-### GitLab CI
-
-The [ss-open/ci/recipes project](https://gitlab.com/ss-open/ci/recipes) offers 
a ready to use lint job integrating editorconfig-checker.
-
-- Main documentation: 
<https://gitlab.com/ss-open/ci/recipes/-/blob/main/README.md>
-- Editorconfig job specific documentation: 
<https://gitlab.com/ss-open/ci/recipes/-/blob/main/stages/lint/editorconfig/README.md>
-
 ## Support
 
-If you have any questions, suggestions, need a wrapper for a programming 
language or just want to chat join #editorconfig-checker on freenode(IRC).
-If you don't have an IRC-client set up you can use the [freenode 
webchat](https://webchat.freenode.net/?channels=editorconfig-checker).
+If you have any questions, suggestions, need a wrapper for a programming 
language or just want to chat join `#editorconfig-checker` on [Libera 
IRC](https://libera.chat/).
+If you do not have an IRC client you can also use a 
[webclient](https://libera.chat/guides/clients#connecting-without-installing-anything).
 
 ## Contributing
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/editorconfig-checker-3.6.0/cmd/editorconfig-checker/main.go 
new/editorconfig-checker-3.6.1/cmd/editorconfig-checker/main.go
--- old/editorconfig-checker-3.6.0/cmd/editorconfig-checker/main.go     
2025-11-25 17:39:46.000000000 +0100
+++ new/editorconfig-checker-3.6.1/cmd/editorconfig-checker/main.go     
2026-01-28 21:45:37.000000000 +0100
@@ -22,7 +22,7 @@
 
 // version is used for the help and to verify against the version stored in 
the config file
 // version is dynamically set at compiletime
-var version string = "v3.6.0" // x-release-please-version
+var version string = "v3.6.1" // x-release-please-version
 
 // defaultConfigFileNames determines the file names where the config is located
 var defaultConfigFileNames = []string{".editorconfig-checker.json", ".ecrc"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editorconfig-checker-3.6.0/default.nix 
new/editorconfig-checker-3.6.1/default.nix
--- old/editorconfig-checker-3.6.0/default.nix  2025-11-25 17:39:46.000000000 
+0100
+++ new/editorconfig-checker-3.6.1/default.nix  2026-01-28 21:45:37.000000000 
+0100
@@ -2,7 +2,7 @@
 with pkgs;
 
 buildGoPackage rec {
-  version = "v3.6.0" # x-release-please-version
+  version = "v3.6.1" # x-release-please-version
 
   # create link so the tool can also be executed as `ec`
   postInstall = ''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editorconfig-checker-3.6.0/go.mod 
new/editorconfig-checker-3.6.1/go.mod
--- old/editorconfig-checker-3.6.0/go.mod       2025-11-25 17:39:46.000000000 
+0100
+++ new/editorconfig-checker-3.6.1/go.mod       2026-01-28 21:45:37.000000000 
+0100
@@ -3,10 +3,10 @@
 go 1.24.0
 
 require (
-       github.com/editorconfig/editorconfig-core-go/v2 v2.6.3
-       github.com/gabriel-vasile/mimetype v1.4.11
+       github.com/editorconfig/editorconfig-core-go/v2 v2.6.4
+       github.com/gabriel-vasile/mimetype v1.4.12
        github.com/wlynxg/chardet v1.0.4
-       golang.org/x/text v0.31.0
+       golang.org/x/text v0.33.0
 )
 
 require (
@@ -25,7 +25,7 @@
 )
 
 require (
-       github.com/gkampitakis/go-snaps v0.5.16
-       golang.org/x/mod v0.29.0 // indirect
+       github.com/gkampitakis/go-snaps v0.5.19
+       golang.org/x/mod v0.31.0 // indirect
        gopkg.in/ini.v1 v1.67.0 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editorconfig-checker-3.6.0/go.sum 
new/editorconfig-checker-3.6.1/go.sum
--- old/editorconfig-checker-3.6.0/go.sum       2025-11-25 17:39:46.000000000 
+0100
+++ new/editorconfig-checker-3.6.1/go.sum       2026-01-28 21:45:37.000000000 
+0100
@@ -2,14 +2,14 @@
 github.com/davecgh/go-spew v1.1.0/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/editorconfig/editorconfig-core-go/v2 v2.6.3 
h1:XVUp6qW3BIkmM3/1EkrHpa6bL56APOynfXcZEmIgOhs=
-github.com/editorconfig/editorconfig-core-go/v2 v2.6.3/go.mod 
h1:ThHVc+hqbUsmE1wmK/MASpQEhCleWu1JDJDNhUOMy0c=
-github.com/gabriel-vasile/mimetype v1.4.11 
h1:AQvxbp830wPhHTqc1u7nzoLT+ZFxGY7emj5DR5DYFik=
-github.com/gabriel-vasile/mimetype v1.4.11/go.mod 
h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s=
+github.com/editorconfig/editorconfig-core-go/v2 v2.6.4 
h1:CHwUbBVVyKWRX9kt5A/OtwhYUJB32DrFp9xzmjR6cac=
+github.com/editorconfig/editorconfig-core-go/v2 v2.6.4/go.mod 
h1:JWRVKHdVW+dkv6F8p+xGCa6a+TyMrqsFbFkSs/aQkrQ=
+github.com/gabriel-vasile/mimetype v1.4.12 
h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw=
+github.com/gabriel-vasile/mimetype v1.4.12/go.mod 
h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s=
 github.com/gkampitakis/ciinfo v0.3.2 
h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs=
 github.com/gkampitakis/ciinfo v0.3.2/go.mod 
h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo=
-github.com/gkampitakis/go-snaps v0.5.16 
h1:tihmwY3YMe+kv0hohos2AB4yM1SiRUE9VFleGEnKt1Q=
-github.com/gkampitakis/go-snaps v0.5.16/go.mod 
h1:gC3YqxQTPyIXvQrw/Vpt3a8VqR1MO8sVpZFWN4DGwNs=
+github.com/gkampitakis/go-snaps v0.5.19 
h1:hUJlCQOpTt1M+kSisMwioDWZDWpDtdAvUhvWCx1YGW0=
+github.com/gkampitakis/go-snaps v0.5.19/go.mod 
h1:gC3YqxQTPyIXvQrw/Vpt3a8VqR1MO8sVpZFWN4DGwNs=
 github.com/goccy/go-yaml v1.18.0 
h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
 github.com/goccy/go-yaml v1.18.0/go.mod 
h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
 github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
@@ -51,10 +51,10 @@
 github.com/tidwall/sjson v1.2.5/go.mod 
h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28=
 github.com/wlynxg/chardet v1.0.4 
h1:hkI71Dx8v3RiAz3XKV5lJEh9QfKo7xXKUmYJQeIMlpo=
 github.com/wlynxg/chardet v1.0.4/go.mod 
h1:HLQMNsa0w4MkH2e7waQaFD+Yh85riFFTLhFtP8fsdbQ=
-golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
-golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
-golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
-golang.org/x/text v0.31.0/go.mod 
h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
+golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI=
+golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg=
+golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE=
+golang.org/x/text v0.33.0/go.mod 
h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editorconfig-checker-3.6.0/pkg/config/config.go 
new/editorconfig-checker-3.6.1/pkg/config/config.go
--- old/editorconfig-checker-3.6.0/pkg/config/config.go 2025-11-25 
17:39:46.000000000 +0100
+++ new/editorconfig-checker-3.6.1/pkg/config/config.go 2026-01-28 
21:45:37.000000000 +0100
@@ -107,7 +107,7 @@
        "~$",
 }
 
-// keep synced with pkg/validation/validation.go#L20
+// keep synced with pkg/validation/validation.go#L20 (but no escaping)
 var defaultAllowedContentTypes = []string{
        "text/",
        "application/octet-stream",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/editorconfig-checker-3.6.0/pkg/config/config_test.go 
new/editorconfig-checker-3.6.1/pkg/config/config_test.go
--- old/editorconfig-checker-3.6.0/pkg/config/config_test.go    2025-11-25 
17:39:46.000000000 +0100
+++ new/editorconfig-checker-3.6.1/pkg/config/config_test.go    2026-01-28 
21:45:37.000000000 +0100
@@ -116,7 +116,7 @@
 
        mergeConfig := Config{
                ShowVersion:         true,
-               Version:             "v3.6.0", // x-release-please-version
+               Version:             "v3.6.1", // x-release-please-version
                Help:                true,
                DryRun:              true,
                Path:                "some-other",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/editorconfig-checker-3.6.0/pkg/validation/validation.go 
new/editorconfig-checker-3.6.1/pkg/validation/validation.go
--- old/editorconfig-checker-3.6.0/pkg/validation/validation.go 2025-11-25 
17:39:46.000000000 +0100
+++ new/editorconfig-checker-3.6.1/pkg/validation/validation.go 2026-01-28 
21:45:37.000000000 +0100
@@ -30,8 +30,8 @@
        "^application/json$",
        "^application/x-ndjson$",
        "^application/xml$",
-       "+json",
-       "+xml$",
+       "\\+json",
+       "\\+xml$",
 }
 
 // ValidateFile Validates a single file and returns the errors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/editorconfig-checker-3.6.0/pkg/validation/validation_test.go 
new/editorconfig-checker-3.6.1/pkg/validation/validation_test.go
--- old/editorconfig-checker-3.6.0/pkg/validation/validation_test.go    
2025-11-25 17:39:46.000000000 +0100
+++ new/editorconfig-checker-3.6.1/pkg/validation/validation_test.go    
2026-01-28 21:45:37.000000000 +0100
@@ -169,4 +169,12 @@
        if len(result) != 1 {
                t.Error("Should have one error, got", result)
        }
+
+       configuration = config.NewConfig(nil)
+       configuration.Verbose = true
+       configuration.Disable.Indentation = true
+       result = ValidateFile("./../../testfiles/favorites.gpx.txt", 
*configuration)
+       if len(result) != 0 {
+               t.Error("Should have no errors when validating valid file, 
got", result)
+       }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/editorconfig-checker-3.6.0/testfiles/favorites.gpx.txt 
new/editorconfig-checker-3.6.1/testfiles/favorites.gpx.txt
--- old/editorconfig-checker-3.6.0/testfiles/favorites.gpx.txt  1970-01-01 
01:00:00.000000000 +0100
+++ new/editorconfig-checker-3.6.1/testfiles/favorites.gpx.txt  2026-01-28 
21:45:37.000000000 +0100
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<gpx xmlns="http://www.topografix.com/GPX/1/1"; 
xmlns:osmand="https://osmand.net"; 
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; version="1.1" 
creator="OsmAnd+ 4.9.10" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 
http://www.topografix.com/GPX/1/1/gpx.xsd";>
+  <metadata>
+    <name>favorites</name>
+  </metadata>
+  <extensions>
+    <osmand:points_groups>
+      <group name="work" color="#EECC22" icon="special_star" 
background="circle"/>
+    </osmand:points_groups>
+  </extensions>
+</gpx>

++++++ editorconfig-checker.obsinfo ++++++
--- /var/tmp/diff_new_pack.tX8BcL/_old  2026-01-30 18:27:21.922343473 +0100
+++ /var/tmp/diff_new_pack.tX8BcL/_new  2026-01-30 18:27:21.926343641 +0100
@@ -1,5 +1,5 @@
 name: editorconfig-checker
-version: 3.6.0
-mtime: 1764088786
-commit: 6b2f463397341e827af22305a5630d26a9aedc21
+version: 3.6.1
+mtime: 1769633137
+commit: aa06cea887b26f372f9368aa53665266ec6dc364
 

++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/.editorconfig 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/.editorconfig
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/.editorconfig    
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/.editorconfig    
2026-01-28 21:45:37.000000000 +0100
@@ -9,10 +9,18 @@
 indent_style = space
 indent_size = 2
 
-[{Makefile,go.mod,go.sum,*.go,.gitmodules}]
+[{Makefile,*.go,.gitmodules}]
 indent_style = tab
 indent_size = 4
 
+[go.{mod,work,work.sum,sum}]
+charset = unset
+end_of_line = unset
+insert_final_newline = unset
+trim_trailing_whitespace = unset
+indent_style = unset
+indent_size = unset
+
 [*.md]
 indent_size = 4
 trim_trailing_whitespace = false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/.golangci.yml 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/.golangci.yml
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/.golangci.yml    
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/.golangci.yml    
2026-01-28 21:45:37.000000000 +0100
@@ -1,40 +1,65 @@
-linters-settings:
-  depguard:
-    rules:
-      main:
-        files:
-        - "!**/internal/**/*.go"
-        - "!$test"
-        allow:
-        - $gostd
-        - "github.com/editorconfig/editorconfig-core-go/v2"
-        - "github.com/hashicorp/go-multierror"
-        - "golang.org/x/mod/semver"
-        - "gopkg.in/ini.v1"
-        deny: []
-      internal:
-        files:
-        - "**/internal/**/*.go"
-        - "!$test"
-        allow:
-        - $gostd
-        - "github.com/google/go-cmp"
-  gci:
-    sections:
-      - standard
-      - default
-      - prefix(github.com/editorconfig/editorconfig-core-go)
-  cyclop:
-    max-complexity: 15
-    package-average: 10
-
+version: "2"
 linters:
-  enable-all: true
+  default: all
   disable:
     - exhaustruct
     - mnd
     - tagliatelle
-    - tenv
-    - typecheck
     - varnamelen
-  fast: false
+    - wsl
+  settings:
+    cyclop:
+      max-complexity: 15
+      package-average: 10
+    depguard:
+      rules:
+        internal:
+          files:
+            - '**/internal/**/*.go'
+            - '!$test'
+          allow:
+            - $gostd
+            - github.com/google/go-cmp
+        main:
+          files:
+            - '!**/internal/**/*.go'
+            - '!$test'
+          allow:
+            - $gostd
+            - github.com/editorconfig/editorconfig-core-go/v2
+            - github.com/hashicorp/go-multierror
+            - golang.org/x/mod/semver
+            - gopkg.in/ini.v1
+    wsl_v5:
+      allow-first-in-block: true
+      allow-whole-block: false
+      branch-max-lines: 2
+  exclusions:
+    generated: lax
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
+    paths:
+      - third_party$
+      - builtin$
+      - examples$
+formatters:
+  enable:
+    - gci
+    - gofmt
+    - gofumpt
+    - goimports
+  settings:
+    gci:
+      sections:
+        - standard
+        - default
+        - prefix(github.com/editorconfig/editorconfig-core-go)
+  exclusions:
+    generated: lax
+    paths:
+      - third_party$
+      - builtin$
+      - examples$
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/CHANGELOG.md 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/CHANGELOG.md
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/CHANGELOG.md     
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/CHANGELOG.md     
2026-01-28 21:45:37.000000000 +0100
@@ -1,8 +1,14 @@
 # Change log
 
+## v2.6.4 - 2025-12-16
+
+- Target Go 1.24
+- Bump x/mod to 0.31
+- Typos
+
 ## v2.6.3 - 2025-03-12
 
-- Targets Go 1.22
+- Target Go 1.22
 - Bump x/mod to 0.23
 - Bump google/go-cmp to 0.7.0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/cached_parser.go 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/cached_parser.go
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/cached_parser.go 
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/cached_parser.go 
2026-01-28 21:45:37.000000000 +0100
@@ -38,25 +38,27 @@
 func (parser *CachedParser) ParseIniGraceful(filename string) (*Editorconfig, 
error, error) {
        var warning error
 
+       empty := (*Editorconfig)(nil)
+
        ec, ok := parser.editorconfigs[filename]
        if !ok {
                fp, err := os.Open(filename)
                if err != nil {
-                       return nil, nil, fmt.Errorf("error opening %q: %w", 
filename, err)
+                       return empty, nil, fmt.Errorf("error opening %q: %w", 
filename, err)
                }
 
                defer fp.Close()
 
                iniFile, err := ini.Load(fp)
                if err != nil {
-                       return nil, nil, fmt.Errorf("error loading ini file %q: 
%w", filename, err)
+                       return empty, nil, fmt.Errorf("error loading ini file 
%q: %w", filename, err)
                }
 
                var warn error
 
                ec, warn, err = newEditorconfig(iniFile)
                if err != nil {
-                       return nil, nil, fmt.Errorf("error creating config: 
%w", err)
+                       return empty, nil, fmt.Errorf("error creating config: 
%w", err)
                }
 
                if warn != nil {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/config.go 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/config.go
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/config.go        
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/config.go        
2026-01-28 21:45:37.000000000 +0100
@@ -39,9 +39,11 @@
                config.Parser = new(SimpleParser)
        }
 
+       empty := (*Definition)(nil)
+
        absFilename, err := filepath.Abs(filename)
        if err != nil {
-               return nil, nil, fmt.Errorf("cannot get absolute path for %q: 
%w", filename, err)
+               return empty, nil, fmt.Errorf("cannot get absolute path for %q: 
%w", filename, err)
        }
 
        ecFile := config.Name
@@ -59,7 +61,7 @@
                }
 
                if ok := semver.IsValid(version); !ok {
-                       return nil, nil, fmt.Errorf("version %s error: %w", 
config.Version, ErrInvalidVersion)
+                       return empty, nil, fmt.Errorf("version %s error: %w", 
config.Version, ErrInvalidVersion)
                }
 
                definition.version = version
@@ -81,7 +83,7 @@
                                continue
                        }
 
-                       return nil, nil, fmt.Errorf("cannot parse the ini file 
%q: %w", ecFile, err)
+                       return empty, nil, fmt.Errorf("cannot parse the ini 
file %q: %w", ecFile, err)
                }
 
                // give it the current config.
@@ -97,7 +99,7 @@
 
                def, err := ec.GetDefinitionForFilename(relativeFilename)
                if err != nil {
-                       return nil, nil, fmt.Errorf("cannot get definition for 
%q: %w", relativeFilename, err)
+                       return empty, nil, fmt.Errorf("cannot get definition 
for %q: %w", relativeFilename, err)
                }
 
                definition.merge(def)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/definition.go 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/definition.go
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/definition.go    
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/definition.go    
2026-01-28 21:45:37.000000000 +0100
@@ -33,6 +33,79 @@
        return config.Load(config.Path)
 }
 
+// InsertToIniFile writes the definition into a ini file.
+func (d *Definition) InsertToIniFile(iniFile *ini.File) { 
//nolint:funlen,gocognit,cyclop
+       iniSec := iniFile.Section(d.Selector)
+
+       for k, v := range d.Raw {
+               switch k {
+               case "insert_final_newline":
+                       if d.InsertFinalNewline != nil {
+                               v = strconv.FormatBool(*d.InsertFinalNewline)
+                       } else {
+                               insertFinalNewline, ok := 
d.Raw["insert_final_newline"]
+                               if !ok {
+                                       break
+                               }
+
+                               v = strings.ToLower(insertFinalNewline)
+                       }
+               case "trim_trailing_whitespace":
+                       if d.TrimTrailingWhitespace != nil {
+                               v = 
strconv.FormatBool(*d.TrimTrailingWhitespace)
+                       } else {
+                               trimTrailingWhitespace, ok := 
d.Raw["trim_trailing_whitespace"]
+                               if !ok {
+                                       break
+                               }
+
+                               v = strings.ToLower(trimTrailingWhitespace)
+                       }
+               case "charset":
+                       v = d.Charset
+               case "end_of_line":
+                       v = d.EndOfLine
+               case "indent_style":
+                       v = d.IndentStyle
+               case "tab_width":
+                       tabWidth, ok := d.Raw["tab_width"]
+                       if ok && tabWidth == UnsetValue {
+                               v = tabWidth
+                       } else {
+                               v = strconv.Itoa(d.TabWidth)
+                       }
+               case "indent_size":
+                       v = d.IndentSize
+               }
+
+               iniSec.NewKey(k, v) //nolint:errcheck
+       }
+
+       if _, ok := d.Raw["indent_size"]; !ok {
+               tabWidth, ok := d.Raw["tab_width"]
+
+               switch {
+               case ok && tabWidth == UnsetValue:
+                       // do nothing
+               case d.TabWidth > 0:
+                       iniSec.NewKey("indent_size", strconv.Itoa(d.TabWidth)) 
//nolint:errcheck
+               case d.IndentStyle == IndentStyleTab && (d.version == "" || 
semver.Compare(d.version, "v0.9.0") >= 0):
+                       iniSec.NewKey("indent_size", IndentStyleTab) 
//nolint:errcheck
+               }
+       }
+
+       if _, ok := d.Raw["tab_width"]; !ok {
+               if d.IndentSize == UnsetValue {
+                       iniSec.NewKey("tab_width", d.IndentSize) 
//nolint:errcheck
+               } else {
+                       _, err := strconv.Atoi(d.IndentSize)
+                       if err == nil {
+                               iniSec.NewKey("tab_width", 
d.Raw["indent_size"]) //nolint:errcheck
+                       }
+               }
+       }
+}
+
 // normalize fixes some values to their lowercase value.
 func (d *Definition) normalize() error {
        var result error
@@ -128,76 +201,3 @@
                }
        }
 }
-
-// InsertToIniFile writes the definition into a ini file.
-func (d *Definition) InsertToIniFile(iniFile *ini.File) { 
//nolint:funlen,gocognit,cyclop
-       iniSec := iniFile.Section(d.Selector)
-
-       for k, v := range d.Raw {
-               switch k {
-               case "insert_final_newline":
-                       if d.InsertFinalNewline != nil {
-                               v = strconv.FormatBool(*d.InsertFinalNewline)
-                       } else {
-                               insertFinalNewline, ok := 
d.Raw["insert_final_newline"]
-                               if !ok {
-                                       break
-                               }
-
-                               v = strings.ToLower(insertFinalNewline)
-                       }
-               case "trim_trailing_whitespace":
-                       if d.TrimTrailingWhitespace != nil {
-                               v = 
strconv.FormatBool(*d.TrimTrailingWhitespace)
-                       } else {
-                               trimTrailingWhitespace, ok := 
d.Raw["trim_trailing_whitespace"]
-                               if !ok {
-                                       break
-                               }
-
-                               v = strings.ToLower(trimTrailingWhitespace)
-                       }
-               case "charset":
-                       v = d.Charset
-               case "end_of_line":
-                       v = d.EndOfLine
-               case "indent_style":
-                       v = d.IndentStyle
-               case "tab_width":
-                       tabWidth, ok := d.Raw["tab_width"]
-                       if ok && tabWidth == UnsetValue {
-                               v = tabWidth
-                       } else {
-                               v = strconv.Itoa(d.TabWidth)
-                       }
-               case "indent_size":
-                       v = d.IndentSize
-               }
-
-               iniSec.NewKey(k, v) //nolint:errcheck
-       }
-
-       if _, ok := d.Raw["indent_size"]; !ok {
-               tabWidth, ok := d.Raw["tab_width"]
-
-               switch {
-               case ok && tabWidth == UnsetValue:
-                       // do nothing
-               case d.TabWidth > 0:
-                       iniSec.NewKey("indent_size", strconv.Itoa(d.TabWidth)) 
//nolint:errcheck
-               case d.IndentStyle == IndentStyleTab && (d.version == "" || 
semver.Compare(d.version, "v0.9.0") >= 0):
-                       iniSec.NewKey("indent_size", IndentStyleTab) 
//nolint:errcheck
-               }
-       }
-
-       if _, ok := d.Raw["tab_width"]; !ok {
-               if d.IndentSize == UnsetValue {
-                       iniSec.NewKey("tab_width", d.IndentSize) 
//nolint:errcheck
-               } else {
-                       _, err := strconv.Atoi(d.IndentSize)
-                       if err == nil {
-                               iniSec.NewKey("tab_width", 
d.Raw["indent_size"]) //nolint:errcheck
-                       }
-               }
-       }
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/editorconfig.go 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/editorconfig.go
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/editorconfig.go  
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/editorconfig.go  
2026-01-28 21:45:37.000000000 +0100
@@ -75,8 +75,9 @@
                definition := &Definition{}
                raw := make(map[string]string)
 
-               if err := iniSection.MapTo(&definition); err != nil {
-                       return nil, nil, fmt.Errorf("error mapping current 
section: %w", err)
+               err := iniSection.MapTo(&definition)
+               if err != nil {
+                       return editorConfig, nil, fmt.Errorf("error mapping 
current section: %w", err)
                }
 
                // Shallow copy all the properties
@@ -87,7 +88,8 @@
                definition.Raw = raw
                definition.Selector = sectionStr
 
-               if err := definition.normalize(); err != nil {
+               err = definition.normalize()
+               if err != nil {
                        // Append those error(s) into the warning
                        warning = errors.Join(warning, err)
                }
@@ -156,7 +158,8 @@
 func (e *Editorconfig) Serialize() ([]byte, error) {
        buffer := bytes.NewBuffer(nil)
 
-       if err := e.Write(buffer); err != nil {
+       err := e.Write(buffer)
+       if err != nil {
                return nil, fmt.Errorf("cannot write into buffer: %w", err)
        }
 
@@ -177,7 +180,8 @@
                d.InsertToIniFile(iniFile)
        }
 
-       if _, err := iniFile.WriteTo(w); err != nil {
+       _, err := iniFile.WriteTo(w)
+       if err != nil {
                return fmt.Errorf("error writing ini file: %w", err)
        }
 
@@ -221,7 +225,7 @@
 func ParseGraceful(r io.Reader) (*Editorconfig, error, error) {
        iniFile, err := ini.Load(r)
        if err != nil {
-               return nil, nil, fmt.Errorf("cannot load ini file: %w", err)
+               return &Editorconfig{}, nil, fmt.Errorf("cannot load ini file: 
%w", err)
        }
 
        return newEditorconfig(iniFile)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/parser.go 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/parser.go
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/parser.go        
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/parser.go        
2026-01-28 21:45:37.000000000 +0100
@@ -12,7 +12,7 @@
        // a joined errors and might be ignored in some cases.
        ParseIniGraceful(filename string) (*Editorconfig, error, error)
 
-       // FnmatchCase takes a pattern, a filename, and tells wether the given 
filename
+       // FnmatchCase takes a pattern, a filename, and tells whether the given 
filename
        // matches the globbing pattern.
        FnmatchCase(pattern string, filename string) (bool, error)
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/editorconfig/editorconfig-core-go/v2/simple_parser.go 
new/vendor/github.com/editorconfig/editorconfig-core-go/v2/simple_parser.go
--- old/vendor/github.com/editorconfig/editorconfig-core-go/v2/simple_parser.go 
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/editorconfig/editorconfig-core-go/v2/simple_parser.go 
2026-01-28 21:45:37.000000000 +0100
@@ -22,16 +22,18 @@
 
 // ParseIni calls go-ini's Load on the file and keep warnings in a separate 
error.
 func (parser *SimpleParser) ParseIniGraceful(filename string) (*Editorconfig, 
error, error) {
+       empty := &Editorconfig{}
+
        fp, err := os.Open(filename)
        if err != nil {
-               return nil, nil, err //nolint:wrapcheck
+               return empty, nil, err //nolint:wrapcheck
        }
 
        defer fp.Close()
 
        iniFile, err := ini.Load(fp)
        if err != nil {
-               return nil, nil, fmt.Errorf("cannot load %q: %w", filename, err)
+               return empty, nil, fmt.Errorf("cannot load %q: %w", filename, 
err)
        }
 
        return newEditorconfig(iniFile)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/.golangci.yml 
new/vendor/github.com/gabriel-vasile/mimetype/.golangci.yml
--- old/vendor/github.com/gabriel-vasile/mimetype/.golangci.yml 2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/.golangci.yml 2026-01-28 
21:45:37.000000000 +0100
@@ -1,5 +1,41 @@
 version: "2"
+
+run:
+  timeout: 5m
+
 linters:
   exclusions:
     presets:
       - std-error-handling
+  enable:
+    - gosec          # Detects security problems.
+    # Keep all extras disabled for now to focus on the integer overflow 
problem.
+    # TODO: enable these and other good linters
+    - dogsled        # Detects assignments with too many blank identifiers.
+    - errcheck
+    - errchkjson     # Detects unsupported types passed to json encoding 
functions and reports if checks for the returned error can be omitted.
+    - exhaustive     # Detects missing options in enum switch statements.
+    - gocyclo
+    - govet
+    - ineffassign
+    - makezero       # Finds slice declarations with non-zero initial length.
+    - misspell       # Detects commonly misspelled English words in comments.
+    - nakedret       # Detects uses of naked returns.
+    - prealloc       # Detects slice declarations that could potentially be 
pre-allocated.
+    - predeclared    # Detects code that shadows one of Go's predeclared 
identifiers.
+    - reassign       # Detects reassigning a top-level variable in another 
package.
+    - staticcheck
+    - thelper        # Detects test helpers without t.Helper().
+    - tparallel      # Detects inappropriate usage of t.Parallel().
+    - unconvert      # Detects unnecessary type conversions.
+    - unused
+    - usestdlibvars  # Detects the possibility to use variables/constants from 
the Go standard library.
+    - usetesting     # Reports uses of functions with replacement inside the 
testing package.
+  settings:
+    govet:
+      disable:
+        - stdversion
+    gosec:
+      excludes:
+        - G404 # Weak random number generator used in tests.
+        - G304 # File inclusion
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/gabriel-vasile/mimetype/README.md 
new/vendor/github.com/gabriel-vasile/mimetype/README.md
--- old/vendor/github.com/gabriel-vasile/mimetype/README.md     2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/README.md     2026-01-28 
21:45:37.000000000 +0100
@@ -70,13 +70,13 @@
 ## Tests
 In addition to unit tests,
 [mimetype_tests](https://github.com/gabriel-vasile/mimetype_tests) compares the
-library with the [Unix file 
utility](https://en.wikipedia.org/wiki/File_(command))
+library with [libmagic](https://en.wikipedia.org/wiki/File_(command))
 for around 50 000 sample files. Check the latest comparison results
 [here](https://github.com/gabriel-vasile/mimetype_tests/actions).
 
 ## Benchmarks
-Benchmarks for each file format are performed when a PR is open. The results 
can
-be seen on the [workflows 
page](https://github.com/gabriel-vasile/mimetype/actions/workflows/benchmark.yml).
+Benchmarks are performed when a PR is open. The results can be seen on the
+[workflows 
page](https://github.com/gabriel-vasile/mimetype/actions/workflows/benchmark.yml).
 Performance improvements are welcome but correctness is prioritized.
 
 ## Structure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/internal/json/parser.go 
new/vendor/github.com/gabriel-vasile/mimetype/internal/json/parser.go
--- old/vendor/github.com/gabriel-vasile/mimetype/internal/json/parser.go       
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/internal/json/parser.go       
2026-01-28 21:45:37.000000000 +0100
@@ -94,20 +94,6 @@
        return true
 }
 
-// LooksLikeObjectOrArray reports if first non white space character from raw
-// is either { or [. Parsing raw as JSON is a heavy operation. When receiving 
some
-// text input we can skip parsing if the input does not even look like JSON.
-func LooksLikeObjectOrArray(raw []byte) bool {
-       for i := range raw {
-               if isSpace(raw[i]) {
-                       continue
-               }
-               return raw[i] == '{' || raw[i] == '['
-       }
-
-       return false
-}
-
 // Parse will take out a parser from the pool depending on queryType and tries
 // to parse raw bytes as JSON.
 func Parse(queryType string, raw []byte) (parsed, inspected, firstToken int, 
querySatisfied bool) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go 
new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go
--- old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go     
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go     
2026-01-28 21:45:37.000000000 +0100
@@ -106,10 +106,10 @@
        if len(raw) < minHeaderLen || !bytes.HasPrefix(raw, []byte("Cr24")) {
                return false
        }
-       pubkeyLen := binary.LittleEndian.Uint32(raw[8:12])
-       sigLen := binary.LittleEndian.Uint32(raw[12:16])
+       pubkeyLen := int64(binary.LittleEndian.Uint32(raw[8:12]))
+       sigLen := int64(binary.LittleEndian.Uint32(raw[12:16]))
        zipOffset := minHeaderLen + pubkeyLen + sigLen
-       if uint32(len(raw)) < zipOffset {
+       if zipOffset < 0 || int64(len(raw)) < zipOffset {
                return false
        }
        return Zip(raw[zipOffset:], limit)
@@ -209,3 +209,13 @@
        }
        return unsigned, signed
 }
+
+// Zlib matches zlib compressed files.
+func Zlib(raw []byte, _ uint32) bool {
+       // https://www.ietf.org/rfc/rfc6713.txt
+       // This check has one fault: ASCII code can satisfy it; for ex: 
[]byte("x ")
+       zlib := len(raw) > 1 &&
+               raw[0] == 'x' && binary.BigEndian.Uint16(raw)%31 == 0
+       // Check that the file is not a regular text to avoid false positives.
+       return zlib && !Text(raw, 0)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/meteo.go 
new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/meteo.go
--- old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/meteo.go       
1970-01-01 01:00:00.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/meteo.go       
2026-01-28 21:45:37.000000000 +0100
@@ -0,0 +1,12 @@
+package magic
+
+import "bytes"
+
+// GRIB matches a GRIdded Binary meteorological file.
+// https://www.nco.ncep.noaa.gov/pmb/docs/on388/
+// https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/
+func GRIB(raw []byte, _ uint32) bool {
+       return len(raw) > 7 &&
+               bytes.HasPrefix(raw, []byte("GRIB")) &&
+               (raw[7] == 1 || raw[7] == 2)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go 
new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go
--- old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go   
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go   
2026-01-28 21:45:37.000000000 +0100
@@ -192,7 +192,8 @@
        // Expected offset of CLSID for root storage object.
        clsidOffset := sectorLength*(1+firstSecID) + 80
 
-       if len(in) <= clsidOffset+16 {
+       // #731 offset is outside in or wrapped around due to integer overflow.
+       if len(in) <= clsidOffset+16 || clsidOffset < 0 {
                return false
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go 
new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go
--- old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go        
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go        
2026-01-28 21:45:37.000000000 +0100
@@ -283,7 +283,7 @@
 // Text matches a plain text file.
 //
 // TODO: This function does not parse BOM-less UTF16 and UTF32 files. Not 
really
-// sure it should. Linux file utility also requires a BOM for UTF16 and UTF32.
+// sure it should. libmagic also requires a BOM for UTF16 and UTF32.
 func Text(raw []byte, _ uint32) bool {
        // First look for BOM.
        if cset := charset.FromBOM(raw); cset != "" {
@@ -352,13 +352,20 @@
        return jsonHelper(raw, limit, json.QueryGLTF, json.TokObject)
 }
 
-func jsonHelper(raw []byte, limit uint32, q string, wantTok int) bool {
-       if !json.LooksLikeObjectOrArray(raw) {
+func jsonHelper(raw scan.Bytes, limit uint32, q string, wantToks ...int) bool {
+       firstNonWS := raw.FirstNonWS()
+
+       hasTargetTok := false
+       for _, t := range wantToks {
+               hasTargetTok = hasTargetTok || (t&json.TokArray > 0 && 
firstNonWS == '[')
+               hasTargetTok = hasTargetTok || (t&json.TokObject > 0 && 
firstNonWS == '{')
+       }
+       if !hasTargetTok {
                return false
        }
        lraw := len(raw)
-       parsed, inspected, firstToken, querySatisfied := json.Parse(q, raw)
-       if !querySatisfied || firstToken&wantTok == 0 {
+       parsed, inspected, _, querySatisfied := json.Parse(q, raw)
+       if !querySatisfied {
                return false
        }
 
@@ -369,7 +376,7 @@
 
        // If a section of the file was provided, check if all of it was 
inspected.
        // In other words, check that if there was a problem parsing, that 
problem
-       // occured at the last byte in the input.
+       // occurred at the last byte in the input.
        return inspected == lraw && lraw > 0
 }
 
@@ -536,3 +543,57 @@
        return bytes.Equal(raw, []byte{0xEF, 0xBB, 0xBF, 0x57, 0x45, 0x42, 
0x56, 0x54, 0x54}) || // UTF-8 BOM and "WEBVTT"
                bytes.Equal(raw, []byte{0x57, 0x45, 0x42, 0x56, 0x54, 0x54}) // 
"WEBVTT"
 }
+
+type rfc822Hint struct {
+       h          []byte
+       matchFlags scan.Flags
+}
+
+// The hints come from libmagic, but the implementation is bit different. 
libmagic
+// only checks if the file starts with the hint, while we additionally look for
+// a secondary hint in the first few lines of input.
+func RFC822(raw []byte, limit uint32) bool {
+       b := scan.Bytes(raw)
+
+       // Keep hints here to avoid instantiating them several times in 
lineHasRFC822Hint.
+       // The alternative is to make them a package level var, but then they'd 
go
+       // on the heap.
+       // Some of the hints are IgnoreCase, some not. I selected based on what 
libmagic
+       // does and based on personal observations from sample files.
+       hints := []rfc822Hint{
+               {[]byte("From: "), 0},
+               {[]byte("To: "), 0},
+               {[]byte("CC: "), scan.IgnoreCase},
+               {[]byte("Date: "), 0},
+               {[]byte("Subject: "), 0},
+               {[]byte("Received: "), 0},
+               {[]byte("Relay-Version: "), 0},
+               {[]byte("#! rnews"), 0},
+               {[]byte("N#! rnews"), 0},
+               {[]byte("Forward to"), 0},
+               {[]byte("Pipe to"), 0},
+               {[]byte("DELIVERED-TO: "), scan.IgnoreCase},
+               {[]byte("RETURN-PATH: "), scan.IgnoreCase},
+               {[]byte("Content-Type: "), 0},
+               {[]byte("Content-Transfer-Encoding: "), 0},
+       }
+       if !lineHasRFC822Hint(b.Line(), hints) {
+               return false
+       }
+       for i := 0; i < 20; i++ {
+               if lineHasRFC822Hint(b.Line(), hints) {
+                       return true
+               }
+       }
+
+       return false
+}
+
+func lineHasRFC822Hint(b scan.Bytes, hints []rfc822Hint) bool {
+       for _, h := range hints {
+               if b.Match(h.h, h.matchFlags) > -1 {
+                       return true
+               }
+       }
+       return false
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go 
new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go
--- old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go       
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go       
2026-01-28 21:45:37.000000000 +0100
@@ -69,9 +69,9 @@
 
 // vintWidth parses the variable-integer width in matroska containers
 func vintWidth(v int) int {
-       mask, max, num := 128, 8, 1
-       for num < max && v&mask == 0 {
-               mask = mask >> 1
+       mask, nTimes, num := 128, 8, 1
+       for num < nTimes && v&mask == 0 {
+               mask >>= 1
                num++
        }
        return num
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go 
new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go
--- old/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go 
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go 
2026-01-28 21:45:37.000000000 +0100
@@ -85,10 +85,14 @@
 // (instead of relying on offsets told by the file.)
 func Jar(raw []byte, limit uint32) bool {
        return executableJar(raw) ||
+               // First entry must be an empty META-INF directory or the 
manifest.
+               // There is no specification saying that, but the jar reader 
and writer
+               // implementations from Java do it that way.
+               // 
https://github.com/openjdk/jdk/blob/88c4678eed818cbe9380f35352e90883fed27d33/src/java.base/share/classes/java/util/jar/JarInputStream.java#L170-L173
                zipHas(raw, zipEntries{{
-                       name: []byte("META-INF/MANIFEST.MF"),
-               }, {
                        name: []byte("META-INF/"),
+               }, {
+                       name: []byte("META-INF/MANIFEST.MF"),
                }}, 1)
 }
 
@@ -127,11 +131,14 @@
 
 func (z zipEntries) match(file []byte) bool {
        for i := range z {
-               if z[i].dir && bytes.HasPrefix(file, z[i].name) {
-                       return true
-               }
-               if bytes.Equal(file, z[i].name) {
-                       return true
+               if z[i].dir {
+                       if bytes.HasPrefix(file, z[i].name) {
+                               return true
+                       }
+               } else {
+                       if bytes.Equal(file, z[i].name) {
+                               return true
+                       }
                }
        }
        return false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/internal/scan/bytes.go 
new/vendor/github.com/gabriel-vasile/mimetype/internal/scan/bytes.go
--- old/vendor/github.com/gabriel-vasile/mimetype/internal/scan/bytes.go        
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/internal/scan/bytes.go        
2026-01-28 21:45:37.000000000 +0100
@@ -35,6 +35,19 @@
        }
 }
 
+// FirstNonWS returns the first non-whitespace character from b,
+// or 0x00 if no such character is found.
+func (b Bytes) FirstNonWS() byte {
+       for i := range b {
+               if ByteIsWS(b[i]) {
+                       continue
+               }
+               return b[i]
+       }
+
+       return 0x00
+}
+
 // Peek one byte from b or 0x00 if b is empty.
 func (b *Bytes) Peek() byte {
        if len(*b) > 0 {
@@ -63,8 +76,8 @@
        return nil
 }
 
-// PopUntil will advance b until, but not including, the first occurence of 
stopAt
-// character. If no occurence is found, then it will advance until the end of 
b.
+// PopUntil will advance b until, but not including, the first occurrence of 
stopAt
+// character. If no occurrence is found, then it will advance until the end of 
b.
 // The returned Bytes is a slice of all the bytes that we're advanced over.
 func (b *Bytes) PopUntil(stopAt ...byte) Bytes {
        if len(*b) == 0 {
@@ -77,7 +90,7 @@
 
        prefix := (*b)[:i]
        *b = (*b)[i:]
-       return Bytes(prefix)
+       return prefix
 }
 
 // ReadSlice is the same as PopUntil, but the returned value includes stopAt 
as well.
@@ -94,7 +107,7 @@
 
        prefix := (*b)[:i]
        *b = (*b)[i:]
-       return Bytes(prefix)
+       return prefix
 }
 
 // Line returns the first line from b and advances b with the length of the
@@ -117,7 +130,7 @@
 // If b length is less than readLimit, it means we received an incomplete file
 // and proceed with dropping the last line.
 func (b *Bytes) DropLastLine(readLimit uint32) {
-       if readLimit == 0 || uint32(len(*b)) < readLimit {
+       if readLimit == 0 || uint64(len(*b)) < uint64(readLimit) {
                return
        }
 
@@ -151,7 +164,7 @@
        FullWord
 )
 
-// Search for occurences of pattern p inside b at any index.
+// Search for occurrences of pattern p inside b at any index.
 // It returns the index where p was found in b and how many bytes were needed
 // for matching the pattern.
 func (b Bytes) Search(p []byte, flags Flags) (i int, l int) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/gabriel-vasile/mimetype/mime.go 
new/vendor/github.com/gabriel-vasile/mimetype/mime.go
--- old/vendor/github.com/gabriel-vasile/mimetype/mime.go       2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/mime.go       2026-01-28 
21:45:37.000000000 +0100
@@ -2,6 +2,7 @@
 
 import (
        "mime"
+       "slices"
        "strings"
 
        "github.com/gabriel-vasile/mimetype/internal/charset"
@@ -58,10 +59,8 @@
                return true
        }
 
-       for _, alias := range m.aliases {
-               if alias == expectedMIME {
-                       return true
-               }
+       if slices.Contains(m.aliases, expectedMIME) {
+               return true
        }
 
        return false
@@ -180,10 +179,8 @@
        if mime == m.mime {
                return m
        }
-       for _, n := range m.aliases {
-               if n == mime {
-                       return m
-               }
+       if slices.Contains(m.aliases, mime) {
+               return m
        }
 
        for _, c := range m.children {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md 
new/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md
--- old/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md    
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md    
2026-01-28 21:45:37.000000000 +0100
@@ -1,4 +1,4 @@
-## 192 Supported MIME types
+## 195 Supported MIME types
 This file is automatically generated when running tests. Do not edit manually.
 
 Extension | MIME type <br> Aliases | Hierarchy
@@ -152,6 +152,8 @@
 **.chm** | **application/vnd.ms-htmlhelp** | chm>root
 **.wpd** | **application/vnd.wordperfect** | wpd>root
 **.dxf** | **image/vnd.dxf** | dxf>root
+**.grb** | **application/grib** | grb>root
+**n/a** | **application/zlib** | zlib>root
 **.txt** | **text/plain** | txt>root
 **.svg** | **image/svg+xml** | svg>txt>root
 **.html** | **text/html** | html>txt>root
@@ -195,3 +197,4 @@
 **.pgm** | **image/x-portable-graymap** | pgm>txt>root
 **.ppm** | **image/x-portable-pixmap** | ppm>txt>root
 **.pam** | **image/x-portable-arbitrarymap** | pam>txt>root
+**.eml** | **message/rfc822** | eml>txt>root
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/gabriel-vasile/mimetype/tree.go 
new/vendor/github.com/gabriel-vasile/mimetype/tree.go
--- old/vendor/github.com/gabriel-vasile/mimetype/tree.go       2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/github.com/gabriel-vasile/mimetype/tree.go       2026-01-28 
21:45:37.000000000 +0100
@@ -24,7 +24,7 @@
        woff2, otf, ttc, eot, wasm, shx, dbf, dcm, rar, djvu, mobi, lit, bpg, 
cbor,
        sqlite3, dwg, nes, lnk, macho, qcp, icns, hdr, mrc, mdb, accdb, zstd, 
cab,
        rpm, xz, lzip, torrent, cpio, tzif, xcf, pat, gbr, glb, cabIS, jxr, 
parquet,
-       oneNote, chm, wpd, dxf,
+       oneNote, chm, wpd, dxf, grib, zlib,
        // Keep text last because it is the slowest check.
        text,
 )
@@ -82,7 +82,7 @@
                alias("application/x-ogg")
        oggAudio = newMIME("audio/ogg", ".oga", magic.OggAudio)
        oggVideo = newMIME("video/ogg", ".ogv", magic.OggVideo)
-       text     = newMIME("text/plain", ".txt", magic.Text, svg, html, xml, 
php, js, lua, perl, python, ruby, json, ndJSON, rtf, srt, tcl, csv, tsv, vCard, 
iCalendar, warc, vtt, shell, netpbm, netpgm, netppm, netpam)
+       text     = newMIME("text/plain", ".txt", magic.Text, svg, html, xml, 
php, js, lua, perl, python, ruby, json, ndJSON, rtf, srt, tcl, csv, tsv, vCard, 
iCalendar, warc, vtt, shell, netpbm, netpgm, netppm, netpam, rfc822)
        xml      = newMIME("text/xml", ".xml", magic.XML, rss, atom, x3d, kml, 
xliff, collada, gml, gpx, tcx, amf, threemf, xfdf, owl2, xhtml).
                        alias("application/xml")
        xhtml   = newMIME("application/xhtml+xml", ".html", magic.XHTML)
@@ -287,4 +287,7 @@
        chm     = newMIME("application/vnd.ms-htmlhelp", ".chm", magic.CHM)
        wpd     = newMIME("application/vnd.wordperfect", ".wpd", magic.WPD)
        dxf     = newMIME("image/vnd.dxf", ".dxf", magic.DXF)
+       rfc822  = newMIME("message/rfc822", ".eml", magic.RFC822)
+       grib    = newMIME("application/grib", ".grb", magic.GRIB)
+       zlib    = newMIME("application/zlib", "", magic.Zlib)
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gkampitakis/go-snaps/snaps/matchInlineSnapshot.go 
new/vendor/github.com/gkampitakis/go-snaps/snaps/matchInlineSnapshot.go
--- old/vendor/github.com/gkampitakis/go-snaps/snaps/matchInlineSnapshot.go     
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/github.com/gkampitakis/go-snaps/snaps/matchInlineSnapshot.go     
2026-01-28 21:45:37.000000000 +0100
@@ -8,6 +8,7 @@
        "go/parser"
        "go/token"
        "os"
+       "strconv"
        "strings"
        "sync"
 
@@ -226,10 +227,7 @@
 /* AST Code */
 
 func createInlineArgument(s string) ast.Expr {
-       v := fmt.Sprintf("`%s`", s)
-       if isSingleline(s) {
-               v = fmt.Sprintf("%q", s)
-       }
+       v := getInlineStringValue(s)
 
        return &ast.CallExpr{
                Fun: &ast.SelectorExpr{
@@ -243,6 +241,14 @@
        }
 }
 
+func getInlineStringValue(s string) string {
+       if strconv.Quote(s) != `"`+s+`"` {
+               return fmt.Sprintf("`%s`", s)
+       }
+
+       return fmt.Sprintf("%q", s)
+}
+
 func traverseMatchInlineSnapshotAst(astFile *ast.File, fn func(*ast.CallExpr) 
bool) {
        breakEarly := false
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/gkampitakis/go-snaps/snaps/utils.go 
new/vendor/github.com/gkampitakis/go-snaps/snaps/utils.go
--- old/vendor/github.com/gkampitakis/go-snaps/snaps/utils.go   2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/github.com/gkampitakis/go-snaps/snaps/utils.go   2026-01-28 
21:45:37.000000000 +0100
@@ -2,7 +2,6 @@
 
 import (
        "bufio"
-       "bytes"
        "errors"
        "io"
        "math"
@@ -116,7 +115,6 @@
 // snapshotScanner returns a new *bufio.Scanner with a `MaxScanTokenSize == 
math.MaxInt` to read from r.
 func snapshotScanner(r io.Reader) *bufio.Scanner {
        s := bufio.NewScanner(r)
-       s.Split(scanLines)
        s.Buffer([]byte{}, math.MaxInt)
        return s
 }
@@ -138,23 +136,6 @@
        return updateVAR == "true"
 }
 
-// code taken from bufio/scan.go, modified to not terminal \r from the data.
-func scanLines(data []byte, atEOF bool) (advance int, token []byte, err error) 
{
-       if atEOF && len(data) == 0 {
-               return 0, nil, nil
-       }
-       if i := bytes.IndexByte(data, '\n'); i >= 0 {
-               // We have a full newline-terminated line.
-               return i + 1, data[0:i], nil
-       }
-       // If we're at EOF, we have a final, non-terminated line. Return it.
-       if atEOF {
-               return len(data), data, nil
-       }
-       // Request more data.
-       return 0, nil, nil
-}
-
 // shouldCreate determines whether snapshots should be created
 func shouldCreate(u *bool) bool {
        if updateVAR == "always" {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/mod/semver/semver.go 
new/vendor/golang.org/x/mod/semver/semver.go
--- old/vendor/golang.org/x/mod/semver/semver.go        2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/mod/semver/semver.go        2026-01-28 
21:45:37.000000000 +0100
@@ -45,8 +45,8 @@
 
 // Canonical returns the canonical formatting of the semantic version v.
 // It fills in any missing .MINOR or .PATCH and discards build metadata.
-// Two semantic versions compare equal only if their canonical formattings
-// are identical strings.
+// Two semantic versions compare equal only if their canonical formatting
+// is an identical string.
 // The canonical invalid semantic version is the empty string.
 func Canonical(v string) string {
        p, ok := parse(v)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/text/encoding/japanese/eucjp.go 
new/vendor/golang.org/x/text/encoding/japanese/eucjp.go
--- old/vendor/golang.org/x/text/encoding/japanese/eucjp.go     2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/text/encoding/japanese/eucjp.go     2026-01-28 
21:45:37.000000000 +0100
@@ -17,9 +17,9 @@
 var EUCJP encoding.Encoding = &eucJP
 
 var eucJP = internal.Encoding{
-       &internal.SimpleEncoding{eucJPDecoder{}, eucJPEncoder{}},
-       "EUC-JP",
-       identifier.EUCPkdFmtJapanese,
+       Encoding: &internal.SimpleEncoding{Decoder: eucJPDecoder{}, Encoder: 
eucJPEncoder{}},
+       Name:     "EUC-JP",
+       MIB:      identifier.EUCPkdFmtJapanese,
 }
 
 type eucJPDecoder struct{ transform.NopResetter }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go 
new/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go
--- old/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go 2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go 2026-01-28 
21:45:37.000000000 +0100
@@ -17,9 +17,9 @@
 var ISO2022JP encoding.Encoding = &iso2022JP
 
 var iso2022JP = internal.Encoding{
-       internal.FuncEncoding{iso2022JPNewDecoder, iso2022JPNewEncoder},
-       "ISO-2022-JP",
-       identifier.ISO2022JP,
+       Encoding: internal.FuncEncoding{Decoder: iso2022JPNewDecoder, Encoder: 
iso2022JPNewEncoder},
+       Name:     "ISO-2022-JP",
+       MIB:      identifier.ISO2022JP,
 }
 
 func iso2022JPNewDecoder() transform.Transformer {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/text/encoding/japanese/shiftjis.go 
new/vendor/golang.org/x/text/encoding/japanese/shiftjis.go
--- old/vendor/golang.org/x/text/encoding/japanese/shiftjis.go  2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/text/encoding/japanese/shiftjis.go  2026-01-28 
21:45:37.000000000 +0100
@@ -18,9 +18,9 @@
 var ShiftJIS encoding.Encoding = &shiftJIS
 
 var shiftJIS = internal.Encoding{
-       &internal.SimpleEncoding{shiftJISDecoder{}, shiftJISEncoder{}},
-       "Shift JIS",
-       identifier.ShiftJIS,
+       Encoding: &internal.SimpleEncoding{Decoder: shiftJISDecoder{}, Encoder: 
shiftJISEncoder{}},
+       Name:     "Shift JIS",
+       MIB:      identifier.ShiftJIS,
 }
 
 type shiftJISDecoder struct{ transform.NopResetter }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/text/encoding/korean/euckr.go 
new/vendor/golang.org/x/text/encoding/korean/euckr.go
--- old/vendor/golang.org/x/text/encoding/korean/euckr.go       2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/text/encoding/korean/euckr.go       2026-01-28 
21:45:37.000000000 +0100
@@ -20,9 +20,9 @@
 var EUCKR encoding.Encoding = &eucKR
 
 var eucKR = internal.Encoding{
-       &internal.SimpleEncoding{eucKRDecoder{}, eucKREncoder{}},
-       "EUC-KR",
-       identifier.EUCKR,
+       Encoding: &internal.SimpleEncoding{Decoder: eucKRDecoder{}, Encoder: 
eucKREncoder{}},
+       Name:     "EUC-KR",
+       MIB:      identifier.EUCKR,
 }
 
 type eucKRDecoder struct{ transform.NopResetter }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go 
new/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go
--- old/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go      
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go      
2026-01-28 21:45:37.000000000 +0100
@@ -22,21 +22,21 @@
 )
 
 var gbk = internal.Encoding{
-       &internal.SimpleEncoding{
-               gbkDecoder{gb18030: false},
-               gbkEncoder{gb18030: false},
+       Encoding: &internal.SimpleEncoding{
+               Decoder: gbkDecoder{gb18030: false},
+               Encoder: gbkEncoder{gb18030: false},
        },
-       "GBK",
-       identifier.GBK,
+       Name: "GBK",
+       MIB:  identifier.GBK,
 }
 
 var gbk18030 = internal.Encoding{
-       &internal.SimpleEncoding{
-               gbkDecoder{gb18030: true},
-               gbkEncoder{gb18030: true},
+       Encoding: &internal.SimpleEncoding{
+               Decoder: gbkDecoder{gb18030: true},
+               Encoder: gbkEncoder{gb18030: true},
        },
-       "GB18030",
-       identifier.GB18030,
+       Name: "GB18030",
+       MIB:  identifier.GB18030,
 }
 
 type gbkDecoder struct {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go 
new/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go
--- old/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go 
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go 
2026-01-28 21:45:37.000000000 +0100
@@ -17,9 +17,9 @@
 var HZGB2312 encoding.Encoding = &hzGB2312
 
 var hzGB2312 = internal.Encoding{
-       internal.FuncEncoding{hzGB2312NewDecoder, hzGB2312NewEncoder},
-       "HZ-GB2312",
-       identifier.HZGB2312,
+       Encoding: internal.FuncEncoding{Decoder: hzGB2312NewDecoder, Encoder: 
hzGB2312NewEncoder},
+       Name:     "HZ-GB2312",
+       MIB:      identifier.HZGB2312,
 }
 
 func hzGB2312NewDecoder() transform.Transformer {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go 
new/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go
--- old/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go    
2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go    
2026-01-28 21:45:37.000000000 +0100
@@ -20,9 +20,9 @@
 var Big5 encoding.Encoding = &big5
 
 var big5 = internal.Encoding{
-       &internal.SimpleEncoding{big5Decoder{}, big5Encoder{}},
-       "Big5",
-       identifier.Big5,
+       Encoding: &internal.SimpleEncoding{Decoder: big5Decoder{}, Encoder: 
big5Encoder{}},
+       Name:     "Big5",
+       MIB:      identifier.Big5,
 }
 
 type big5Decoder struct{ transform.NopResetter }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/text/encoding/unicode/unicode.go 
new/vendor/golang.org/x/text/encoding/unicode/unicode.go
--- old/vendor/golang.org/x/text/encoding/unicode/unicode.go    2025-11-25 
17:39:46.000000000 +0100
+++ new/vendor/golang.org/x/text/encoding/unicode/unicode.go    2026-01-28 
21:45:37.000000000 +0100
@@ -60,9 +60,9 @@
 }
 
 var utf8enc = &internal.Encoding{
-       &internal.SimpleEncoding{utf8Decoder{}, runes.ReplaceIllFormed()},
-       "UTF-8",
-       identifier.UTF8,
+       Encoding: &internal.SimpleEncoding{Decoder: utf8Decoder{}, Encoder: 
runes.ReplaceIllFormed()},
+       Name:     "UTF-8",
+       MIB:      identifier.UTF8,
 }
 
 type utf8bomDecoder struct {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt      2025-11-25 17:39:46.000000000 +0100
+++ new/vendor/modules.txt      2026-01-28 21:45:37.000000000 +0100
@@ -1,7 +1,7 @@
-# github.com/editorconfig/editorconfig-core-go/v2 v2.6.3
-## explicit; go 1.22.0
+# github.com/editorconfig/editorconfig-core-go/v2 v2.6.4
+## explicit; go 1.24.0
 github.com/editorconfig/editorconfig-core-go/v2
-# github.com/gabriel-vasile/mimetype v1.4.11
+# github.com/gabriel-vasile/mimetype v1.4.12
 ## explicit; go 1.21
 github.com/gabriel-vasile/mimetype
 github.com/gabriel-vasile/mimetype/internal/charset
@@ -13,7 +13,7 @@
 # github.com/gkampitakis/ciinfo v0.3.2
 ## explicit; go 1.20
 github.com/gkampitakis/ciinfo
-# github.com/gkampitakis/go-snaps v0.5.16
+# github.com/gkampitakis/go-snaps v0.5.19
 ## explicit; go 1.22
 github.com/gkampitakis/go-snaps/internal/colors
 github.com/gkampitakis/go-snaps/internal/difflib
@@ -66,10 +66,10 @@
 github.com/wlynxg/chardet/cda
 github.com/wlynxg/chardet/consts
 github.com/wlynxg/chardet/probe
-# golang.org/x/mod v0.29.0
+# golang.org/x/mod v0.31.0
 ## explicit; go 1.24.0
 golang.org/x/mod/semver
-# golang.org/x/text v0.31.0
+# golang.org/x/text v0.33.0
 ## explicit; go 1.24.0
 golang.org/x/text/encoding
 golang.org/x/text/encoding/charmap

Reply via email to