summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-10-21[upd] themes/simple: Bump rolldown-vite from 7.1.17 to 7.1.19 (#5351)Ivan Gabaldon
This security update does nothing but creating a new commit to build a container with the new `base` image.
2025-10-20[fix] Installation Script install fails (msgspec) (#5346)Markus Heiser
Since #5280 has been merged, msgspec, like yaml, is a fixed part of the SearXNG *settings framework* and therefore, like yaml, must be installed in the virtual environment before installing SearXNG (``searx``). The actual reason is that in SearXNG we store settings in the configuration that are required for the installation of the ``searx`` package. This means that these settings (from settings.yml) are read in during the installation, and all the necessary tools for this (pyyaml, msgspec, setuptools, etc.) must be installed beforehand (chicken or the egg dilemma). Related: - https://github.com/searxng/searxng/pull/5280 - https://github.com/searxng/searxng/pull/5254 Closes: https://github.com/searxng/searxng/issues/5343 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-20[fix] TrackerPatternsDB.clean_url: don't delete query argument from new_url ↵Markus Heiser
(#5339) The query argument for URLs like: - 'http://example.org?q=' --> query_str is 'q=' - 'http://example.org?/foo/bar' --> query_str is 'foo/bar' is a *simple string* and not a key/value dict. This string may only be removed from the URL if one of the patterns matches. BTW get_pretty_url(): keep such a *simple string* in the path element. Closes: https://github.com/searxng/searxng/issues/5299 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-20[build] /staticMarkus Heiser
2025-10-20[mod] typification of SearXNG: add new result type FileMarkus Heiser
This PR adds a new result type: File Python class: searx/result_types/file.py Jinja template: searx/templates/simple/result_templates/file.html CSS (less) client/simple/src/less/result_types/file.less Class 'File' (singular) replaces template 'files.html' (plural). The renaming was carried out because there is only one file (singular) in a result. Not to be confused with the category 'files' where in multiple results can exist. As mentioned in issue [1], the class '.category-files' was removed from the CSS and the stylesheet was adopted in result_types/file.less (there based on the templates and no longer based on the category). [1] https://github.com/searxng/searxng/issues/5198 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-18[mod] engine: reuters - REST-API for Reuter's thumbnail, height:80Markus Heiser
The size of the full-size images from ``thumbnail.url`` is usually several MB. By reducing the full-size image to 80 pixels, the data size for a thumb is reduced from MB to a few KB. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-18[fix] reuters: crash on empty results pages & date parsingBnyro
1. On empty result list, return empty EngineResults (#5330) 2. Use ``dateutil.parser`` to avoid ``ValueError``: ERROR searx.engines.reuters : exception : Invalid isoformat string: '2022-06-08T16:07:54Z' File "searx/engines/reuters.py", line 91, in response publishedDate=datetime.fromisoformat(result["display_time"]), ValueError: Invalid isoformat string: '2022-06-08T16:07:54Z' Closes: https://github.com/searxng/searxng/issues/5330 Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-18[fix] engine mullvadleta - ignore HTTP 403 & 429 responseMarkus Heiser
It doesn't matter if you're using Mullvad's VPN and a proper browser, you'll still get blocked for specific searches [1] with a 403 or 429 HTTP status code. Mullvad only blocks the search request and doesn't prevent you from doing more searches. The logic should handle the blocked requests (403, 429), but not put the engine on a cooldown. [1] https://leta.mullvad.net/search?q=site%3Afoo+bar&engine=brave Closes: https://github.com/searxng/searxng/issues/5328 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-17[build] /staticBnyro
2025-10-17[feat] video results: display video length on video thumbnailBnyro
2025-10-17[mod] bing engine: follow redirects (#5324)Bnyro
Apparently, in China, Bing redirects from `www.bing.com` to `cn.bing.com`. So in order to make Bing work for chinese users by default, we have to follow that redirect. related: https://github.com/searxng/searxng/issues/5243
2025-10-17[fix] issues reported by Pylint 4.0Markus Heiser
Last major update of Pylint brings some breaking changes [1], fixed in this patch. [1] https://pylint.readthedocs.io/en/latest/whatsnew/4/4.0/index.html#breaking-changes
2025-10-17[upd] pypi: Bump pylint from 3.3.9 to 4.0.1dependabot[bot]
Bumps [pylint](https://github.com/pylint-dev/pylint) from 3.3.9 to 4.0.1. - [Release notes](https://github.com/pylint-dev/pylint/releases) - [Commits](https://github.com/pylint-dev/pylint/compare/v3.3.9...v4.0.1) --- updated-dependencies: - dependency-name: pylint dependency-version: 4.0.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17[upd] web-client (simple): Bump the minor group in /client/simple (#5333)dependabot[bot]
* [upd] web-client (simple): Bump the minor group Bumps the minor group in /client/simple with 2 updates: [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) and [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node). Updates `@biomejs/biome` from 2.2.5 to 2.2.6 - [Release notes](https://github.com/biomejs/biome/releases) - [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md) - [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.2.6/packages/@biomejs/biome) Updates `@types/node` from 24.7.1 to 24.8.1 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@biomejs/biome" dependency-version: 2.2.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor - dependency-name: "@types/node" dependency-version: 24.8.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor ... Signed-off-by: dependabot[bot] <support@github.com> * [build] /static --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ivan Gabaldon <igabaldon@inetol.net>
2025-10-17[upd] github-actions: Bump actions/setup-node from 5.0.0 to 6.0.0 (#5334)dependabot[bot]
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5.0.0 to 6.0.0. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/a0853c24544627f65ddf259abe73b1d18a591444...2028fbc5c25fe9cf00d9f06a71cc4710d4507903) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-17[upd] github-actions: Bump github/codeql-action from 4.30.7 to 4.30.8 (#5335)dependabot[bot]
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.30.7 to 4.30.8. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/e296a935590eb16afc0c0108289f68c87e2a89a5...f443b600d91635bebf5b0d9ebc620189c0d6fba5) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.30.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-17[upd] pypi: Bump basedpyright from 1.31.6 to 1.31.7 in the minor group (#5331)dependabot[bot]
Bumps the minor group with 1 update: [basedpyright](https://github.com/detachhead/basedpyright). Updates `basedpyright` from 1.31.6 to 1.31.7 - [Release notes](https://github.com/detachhead/basedpyright/releases) - [Commits](https://github.com/detachhead/basedpyright/compare/v1.31.6...v1.31.7)
2025-10-17[l10n] update translations from Weblate (#5336)github-actions[bot]
e23460caa - 2025-10-13 - aindriu80 <aindriu80@noreply.codeberg.org> bb7d1cc0e - 2025-10-13 - Juno Takano <jutty@noreply.codeberg.org> 8b8bc1461 - 2025-10-13 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org> f4bec8c6a - 2025-10-13 - Raithlin <raithlin@noreply.codeberg.org> 609efd4e6 - 2025-10-13 - AndersNordh <andersnordh@noreply.codeberg.org> 6c709f898 - 2025-10-13 - return42 <return42@noreply.codeberg.org> a2b608da4 - 2025-10-13 - AndersNordh <andersnordh@noreply.codeberg.org> 4f0cd2119 - 2025-10-12 - kratos <makesocialfoss32@keemail.me> 8d049e1cb - 2025-10-11 - Outbreak2096 <outbreak2096@noreply.codeberg.org> 4bf5fc5fe - 2025-10-11 - Linerly <linerly@noreply.codeberg.org> c80cf6e92 - 2025-10-11 - ghose <ghose@noreply.codeberg.org> 92427655d - 2025-10-11 - Fjuro <fjuro@alius.cz> 8efe1bb12 - 2025-10-10 - SomeTr <sometr@noreply.codeberg.org>
2025-10-15[chore] theme_args.simple_style - mention the `black` theme style in ↵benpiano800
settings.yml (#5325)
2025-10-13[feat] engines: add Azure resources engine (#5235)Tommaso Colella
Adds a new engine `searx/engines/azure.py` to search cloud resources on Azure. A lot of enterprise users have to deal with Azure Public Cloud. This helps them easily search for cloud resources without logging in to the Portal first How to test this PR locally? You should create an App Registration on Azure Entra Id with Reader access on the resources you want to search for. You should create a Secret for the App Registration. After that, you should set up appropriate values in the `settings.yml` file [1]:: - name: azure engine: azure ... azure_tenant_id: "your_tenant_id" azure_client_id: "your_client_id" azure_client_secret: "your_client_secret" azure_token_expiration_seconds: 5000 [1] https://github.com/searxng/searxng/pull/5235#issuecomment-3397664928 Co-authored-by: Bnyro <bnyro@tutanota.com> Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-13[fix] pinterest: crash when there's no link & show image resolution + ↵Bnyro
uploader name (#5314) closes #5231
2025-10-13[fix] !weather crashes - cls.TURN 'member_descriptor' isn't a float (#5309)Markus Heiser
The class method ``Compass.point`` is converted into an instance method to circumvent the problem described in [1] (without understanding the cause). [1] https://github.com/searxng/searxng/issues/5304#issuecomment-3394140820 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-12[mod] container: move `base` to own repository (#5310)Ivan Gabaldon
The base images will be now built in [another repository](https://github.com/searxng/base).
2025-10-11[enh] ci: bump to cp3.14 (#5302)Ivan Gabaldon
2025-10-10docs: remove unsupported `--replace` flag from Docker command (#5288)Mehmet Sait Cubukcu
2025-10-10[build] /staticBnyro
2025-10-10[feat] preferences hash: show applied settings in pref page when searching ↵Bnyro
with 'search url of the currently saved preferences' Previously, when using a search url copied from the cookies tab, clicking at the settings icon at the top right would show the browser preferences and not the preferences that were set and used with the search url. Please see https://github.com/searxng/searxng/issues/5227 for more information. To test: - change some preferences - copy the preferences search url in the settings' cookies tab - reset the preferences or clear cookies - paste the copied search url into the search bar to search for something - press the settings icon - you can now see/preview the actual settings that were used for the search - by pressing 'save', you can keep these preferences closes #5227
2025-10-10[fix] no results error dialog: link to preferences doesn't work if searxng ↵Bnyro
is hosted as subdirectory
2025-10-10[mod] brand - partial migration of settings to msgspec.Struct (#5280)Markus Heiser
The settings are currently an untyped key/value structure, whose types are dynamically built at runtime. The construction process of this structure is *hand-crafted*. In the long term, we want a static typing of this structure, based on a standard tool. The ``msgspec.Struct`` structures are suitable as a standard tool. This patch makes a first step towards static typing and implements the "brand" section using ``msgspec.Struct`` structures. BTW: searx/settings_defaults.py - ``git_url`` and ``git_branch`` had been removed in aee613d256, this is a leftover. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-10[l10n] update translations from Weblate (#5296)github-actions[bot]
bb1f7a851 - 2025-10-04 - 0ko <0ko@noreply.codeberg.org>
2025-10-10[upd] web-client (simple): bump dependencies (#5294)dependabot[bot]
* [upd] web-client (simple): bump dependencies * [build] /static --------- Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ivan Gabaldon <igabaldon@inetol.net>
2025-10-10[upd] github-actions: Bump github/codeql-action from 3.30.6 to 4.30.7 (#5295)dependabot[bot]
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.6 to 4.30.7. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/64d10c13136e1c5bce3e5fbde8d4906eeaafc885...e296a935590eb16afc0c0108289f68c87e2a89a5) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 4.30.7 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-10[upd] pypi: Bump the minor group with 6 updates (#5293)dependabot[bot]
Bumps the minor group with 6 updates: | Package | From | To | | --- | --- | --- | | [granian](https://github.com/emmett-framework/granian) | `2.5.4` | `2.5.5` | | [certifi](https://github.com/certifi/python-certifi) | `2025.8.3` | `2025.10.5` | | [tomli](https://github.com/hukkin/tomli) | `2.2.1` | `2.3.0` | | [pylint](https://github.com/pylint-dev/pylint) | `3.3.8` | `3.3.9` | | [wlc](https://github.com/WeblateOrg/wlc) | `1.15` | `1.16.1` | | [granian[reload]](https://github.com/emmett-framework/granian) | `2.5.4` | `2.5.5` | Updates `granian` from 2.5.4 to 2.5.5 - [Release notes](https://github.com/emmett-framework/granian/releases) - [Commits](https://github.com/emmett-framework/granian/compare/v2.5.4...v2.5.5) Updates `certifi` from 2025.8.3 to 2025.10.5 - [Commits](https://github.com/certifi/python-certifi/compare/2025.08.03...2025.10.05) Updates `tomli` from 2.2.1 to 2.3.0 - [Changelog](https://github.com/hukkin/tomli/blob/master/CHANGELOG.md) - [Commits](https://github.com/hukkin/tomli/compare/2.2.1...2.3.0) Updates `pylint` from 3.3.8 to 3.3.9 - [Release notes](https://github.com/pylint-dev/pylint/releases) - [Commits](https://github.com/pylint-dev/pylint/compare/v3.3.8...v3.3.9) Updates `wlc` from 1.15 to 1.16.1 - [Release notes](https://github.com/WeblateOrg/wlc/releases) - [Changelog](https://github.com/WeblateOrg/wlc/blob/main/CHANGES.rst) - [Commits](https://github.com/WeblateOrg/wlc/compare/1.15...1.16.1) Updates `granian[reload]` from 2.5.4 to 2.5.5 - [Release notes](https://github.com/emmett-framework/granian/releases) - [Commits](https://github.com/emmett-framework/granian/compare/v2.5.4...v2.5.5) --- updated-dependencies: - dependency-name: granian dependency-version: 2.5.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor - dependency-name: certifi dependency-version: 2025.10.5 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor - dependency-name: tomli dependency-version: 2.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor - dependency-name: pylint dependency-version: 3.3.9 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor - dependency-name: wlc dependency-version: 1.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor - dependency-name: granian[reload] dependency-version: 2.5.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor
2025-10-09[fix] startpage engine - SafeSearch works in reverse (#5290)Markus Heiser
The Name of the option is *disable_family_filter* -> we have to reverse the meaning of the ascending safe-search filter level. Closes: https://github.com/searxng/searxng/issues/5287 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-08[mod] ci: add cp3.14 (part 2)Markus Heiser
Use stable version (remove `-dev` suffix). Stop CI on error [1] / Don't ignore when 3.14 ends with ERROR. [1] https://github.com/searxng/searxng/pull/5217 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-08[fix:py3.14] using a non-empty mutable collection as default is unsafeMarkus Heiser
Starting with Python 3.14 msgspec reports:: File "/share/searxng/searx/weather.py", line 261, in <module> class Temperature(msgspec.Struct, kw_only=True): ...<60 lines>... return template.format(value=val_str, unit=unit) TypeError: Using a non-empty mutable collection (['°C', '°F', 'K']) \ as a default value is unsafe.\ Instead configure a `default_factory` for this field. The problem is solved by the fact that there are now global constants for the units (BTW singular/plural names of the type definitions are fixed): - TEMPERATURE_UNITS - PRESSURE_UNITS - WIND_SPEED_UNITS - RELATIVE_HUMIDITY_UNITS - COMPASS_POINTS - COMPASS_UNITS Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-08[fix:py3.14] Struct fields aren't discovered in Python 3.14Markus Heiser
This is a temporary workaround for #5284 [1]. However, the problem must be solved at a different level, in msgspec [2]. [1] https://github.com/searxng/searxng/issues/5284 [2] https://github.com/jcrist/msgspec/issues/847 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-06[fix] google scholar - detect CAPTCHA (HTTP redirects) (#5268)Markus Heiser
In the case of .. response, for example, an HTTP 302 is returned by Google Scholar:: Our systems have detected unusual traffic from your computer network. Please try again later. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-05[fix] ModuleNotFoundError: No module named 'lxml' (#5254)Markus Heiser
When installing SearXNG (e.g.): pip install --use-pep517 --no-build-isolation -e . An import exception is raised: ModuleNotFoundError: No module named 'lxml' The ``setup.py`` file imports ``searx``, which in turn triggers various other imports. However, the name XPath is only needed for type checking. Closes: https://github.com/searxng/searxng/issues/5177 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-04[upd] pypi: Bump the minor group with 2 updates (#5274)dependabot[bot]
Bumps the minor group with 2 updates: [selenium](https://github.com/SeleniumHQ/Selenium) and [basedpyright](https://github.com/detachhead/basedpyright). Updates `selenium` from 4.35.0 to 4.36.0 - [Release notes](https://github.com/SeleniumHQ/Selenium/releases) - [Commits](https://github.com/SeleniumHQ/Selenium/compare/selenium-4.35.0...selenium-4.36.0) Updates `basedpyright` from 1.31.5 to 1.31.6 - [Release notes](https://github.com/detachhead/basedpyright/releases) - [Commits](https://github.com/detachhead/basedpyright/compare/v1.31.5...v1.31.6) --- updated-dependencies: - dependency-name: selenium dependency-version: 4.36.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor - dependency-name: basedpyright dependency-version: 1.31.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor
2025-10-04[upd] web-client (simple): Bump the minor group (#5277)dependabot[bot]
Bumps the minor group in /client/simple with 5 updates: | Package | From | To | | --- | --- | --- | | [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome) | `2.2.4` | `2.2.5` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.5.2` | `24.6.2` | | [browserslist](https://github.com/browserslist/browserslist) | `4.26.2` | `4.26.3` | | [lightningcss](https://github.com/parcel-bundler/lightningcss) | `1.30.1` | `1.30.2` | | [typescript](https://github.com/microsoft/TypeScript) | `5.9.2` | `5.9.3` | Updates `@biomejs/biome` from 2.2.4 to 2.2.5 - [Release notes](https://github.com/biomejs/biome/releases) - [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md) - [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.2.5/packages/@biomejs/biome) Updates `@types/node` from 24.5.2 to 24.6.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `browserslist` from 4.26.2 to 4.26.3 - [Release notes](https://github.com/browserslist/browserslist/releases) - [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md) - [Commits](https://github.com/browserslist/browserslist/compare/4.26.2...4.26.3) Updates `lightningcss` from 1.30.1 to 1.30.2 - [Release notes](https://github.com/parcel-bundler/lightningcss/releases) - [Commits](https://github.com/parcel-bundler/lightningcss/compare/v1.30.1...v1.30.2) Updates `typescript` from 5.9.2 to 5.9.3 - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml) - [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.2...v5.9.3) --- updated-dependencies: - dependency-name: "@biomejs/biome" dependency-version: 2.2.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor - dependency-name: "@types/node" dependency-version: 24.6.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor - dependency-name: browserslist dependency-version: 4.26.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor - dependency-name: lightningcss dependency-version: 1.30.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor - dependency-name: typescript dependency-version: 5.9.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-03[l10n] update translations from Weblate (#5278)github-actions[bot]
9e090cc25 - 2025-10-01 - Ricky-Tigg <ricky-tigg@noreply.codeberg.org> Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-10-03[upd] github-actions: Bump github/codeql-action from 3.30.4 to 3.30.6 (#5276)dependabot[bot]
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.4 to 3.30.6. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/303c0aef88fc2fe5ff6d63d3b1596bfd83dfa1f9...64d10c13136e1c5bce3e5fbde8d4906eeaafc885) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.30.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-03[upd] github-actions: Bump docker/login-action from 3.5.0 to 3.6.0 (#5275)dependabot[bot]
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.5.0 to 3.6.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/184bdaa0721073962dff0199f1fb9940f07167d1...5e57cd118135c172c3672efd75eb46360885c0ef) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: 3.6.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-03[fix] engine - cppreference has no longer a search function (#5273)Markus Heiser
cppreference has replaced its search (``mwiki/index.php?title=``) with a DDG search. The engine was first introduced in SearXNG with PR-3274 [1], and even back then the mediawiki proved to be incompatible, which is why the API could not be used at the time. Now there isn't even a dedicated search function anymore.. I think the cppreference project suffers from a lack of maintenance. [1] https://github.com/searxng/searxng/pull/3247 Closes: https://github.com/searxng/searxng/issues/5271 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-01[mod] drop searxng_extra/standalone_searx.py (#5256)Markus Heiser
This is an old and grumpy hack / SearXNG is a Flask application with client/server structure, which can't be turned into a command line tool the way it was done here. Maintaining this hack is becoming increasingly complex the more we try to remodel the core code, which is why we should now remove the hack from SearXNG. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-01[fix] searx/results.py - TypeError: object of type 'NoneType' has no len()Markus Heiser
In some engines, under certain circumstances, the content field can also have the value ``None``; in these cases, a length check results in an exception:: File "/usr/local/searxng/searx/results.py", line 360, in merge_two_main_results if len(other.content) > len(origin.content): ^^^^^^^^^^^^^^^^^^ TypeError: object of type 'NoneType' has no len() [1] https://github.com/searxng/searxng/issues/5250#issuecomment-3352863488 Reported-by: @scross01 [1] Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-01[fix] JSON format: serialization of the result-typesMarkus Heiser
The ``JSONEncoder`` (``format="json"``) must perform a conversion to the built-in types for the ``msgspec.Struct``:: if isinstance(o, msgspec.Struct): return msgspec.to_builtins(o) The result types are already of type ``msgspec.Struct``, so they can be converted into built-in types. The field types (in the result type) that were not yet of type ``msgspec.Struct`` have been converted to:: searx.weather.GeoLocation@dataclass -> msgspec.Struct searx.weather.DateTime -> msgspec.Struct searx.weather.Temperature -> msgspec.Struct searx.weather.PressureUnits -> msgspec.Struct searx.weather.WindSpeed -> msgspec.Struct searx.weather.RelativeHumidity -> msgspec.Struct searx.weather.Compass -> msgspec.Struct BTW: Wherever it seemed sensible, the typing was also modernized in the modified files. Closes: https://github.com/searxng/searxng/issues/5250 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-10-01[doc] dev - cleanup asdf remnants and add a note about mise-en-place (#5264)Ivan Gabaldon
Notes on the developer environment with MISE have been added to the Quickstart Guide. We migrated `.tool-versions` to replace it with `mise` [1], so we can now remove `asdf` related documentation. [1] https://github.com/searxng/searxng/pull/5253 Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-30[data] update searx.data - update_engine_traits.pysearxng-bot