9307 Commits

Author SHA1 Message Date
Bnyro
fe1d6d9c48
[fix] unsplash: fix engine due to anubis bot blocking (#5907)
Unsplash started using [Anubis](https://anubis.techaro.lol/)
for blocking crawlers. Therefore, requests using common
user agents (e.g. Firefox, Chrome) must pass a JavaScript
challenge.

However, other user agents seem unaffected for now, hence
settings the UA to something different does still work.
2026-03-25 20:36:17 +01:00
Markus Heiser
0dc032435a [chore] make data.traits - add regions from karmasearch
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-25 19:45:46 +01:00
Bnyro
bd8106e40e [feat] engines: add karmasearch engine (brave mirror) 2026-03-25 19:45:46 +01:00
Markus Heiser
541c6c3cb1
[chore] make data.traits - fix bing engine traits (#5903)
bing's traits.languages has been removed in #5793

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-25 12:09:43 +01:00
dependabot[bot]
02ba387865
[upd] web-client (simple): Bump the group (#5874)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-24 22:17:07 +01:00
dependabot[bot]
8c1570af1c
[upd] pypi: Bump basedpyright from 1.38.2 to 1.38.3 in the minor group (#5876)
Bumps the minor group with 1 update: [basedpyright](https://github.com/detachhead/basedpyright).

Updates `basedpyright` from 1.38.2 to 1.38.3
- [Release notes](https://github.com/detachhead/basedpyright/releases)
- [Commits](https://github.com/detachhead/basedpyright/compare/v1.38.2...v1.38.3)
2026-03-24 21:44:27 +01:00
Markus Heiser
c52d23f262
[fix] clean up and update python requirements (#5899)
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-24 21:41:39 +01:00
dependabot[bot]
ae4b73039f
[upd] pypi: Bump sphinx-issues from 5.0.1 to 6.0.0 (#5877)
Bumps [sphinx-issues](https://github.com/sloria/sphinx-issues) from 5.0.1 to 6.0.0.
- [Commits](https://github.com/sloria/sphinx-issues/compare/5.0.1...6.0.0)

---
updated-dependencies:
- dependency-name: sphinx-issues
  dependency-version: 6.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...
2026-03-24 20:58:30 +01:00
Bnyro
220c42c8e9
[feat] engines: add support for aol.com (#5882)
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-24 20:44:15 +01:00
Markus Heiser
99ec6f296e
[mod] drop support for Python releases older than 4 years (#5895)
The end-of-life (EOL) of a Python release is reached after 5 years, with the
last three years dedicated to security fixes. [1]

Unfortunately, this doesn't apply to common libraries (dependencies): bug fixes
are often only included in major releases, and minor releases with corresponding
security fixes are rarely offered.

To make matters worse, these dependencies often prematurely discontinue their
support for older Python releases (because, for example, they want/need to use
new Python features).

If we want to offer secure software, we are faced with the dilemma of either
supporting old Python releases and accepting that there are security bugs in the
dependencies, or ending support for older Python versions before the actual EOL
of the Python release.

[1] https://devguide.python.org/versions/

Closes: https://github.com/searxng/searxng/issues/5869

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-24 20:26:34 +01:00
Markus Heiser
054174a19d [build] /static 2026-03-24 20:21:27 +01:00
Ruben D.
5e8255f28a [MOD] generate manifest PWA icons (#5859) 2026-03-24 20:21:27 +01:00
Ruben D.
3dc4d5daa8 [mod] add manifest.json template and route (#5859)
URLs, name and colors are automatically rendered into manifest.json.
Furthermore user preference of theme (light, dark, black) and theme colors are
respected.  Theme colors can be set in settings.yml
2026-03-24 20:21:27 +01:00
Markus Heiser
924fc52f54 [build] /static 2026-03-24 19:39:11 +01:00
Markus Heiser
8d44ff51e2 [mod] remove the "Submit a new issue on Github" form (#5896)
Submitting an issue on GitHub isn't a end user task .. most issue reports coming
from this form are not filled out, since end users are not familiar with the
needs of a developer community.

Closes: https://github.com/searxng/searxng/issues/5820
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-24 19:39:11 +01:00
Bnyro
f8056b5e44 [chore] make data.traits 2026-03-24 15:55:54 +01:00
Bnyro
71cea1d87f [feat] engines: add boardreader engine (#5881) 2026-03-24 15:55:54 +01:00
Markus Heiser
c4f51aa4ac
[fix] google engine - don't set __Secure-ENID in the HTTP header (#5894)
PR #5892 only deepends on the UA and the __Secure-ENID is not needed [1].

[1] https://github.com/searxng/searxng/pull/5892#issuecomment-4114835195

Suggested-by: @yeyuchen198

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-24 15:16:47 +01:00
mg95
2c1ce3bd37
[fix] google: switch to using "Google App" for Android useragent (#5892)
I found a bypass using the Android Google App this time. However, unlike the iPhone GSA method, this one does have rate limits. Although it took a couple of hundred consecutive requests to trigger them.
2026-03-23 14:55:48 +01:00
dependabot[bot]
6c7e9c1976
[upd] github-actions: Bump actions/cache from 5.0.3 to 5.0.4 (#5873)
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](cdf6c1fa76...668228422a)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 5.0.4
  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>
2026-03-20 22:00:17 +01:00
dependabot[bot]
8ad72872b5
[upd] github-actions: Bump github/codeql-action from 4.32.6 to 4.33.0 (#5872)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.6 to 4.33.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0d579ffd05...b1bff81932)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.33.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>
2026-03-20 21:00:27 +01:00
Aadniz
2bf5f00e7d [build] /static 2026-03-20 16:31:32 +01:00
Aadniz
5ab3ef774b [feat] client/simple: show/hide autocomplete list on focus/blur
The autocomplete suggestion list is currently a bit hard to close if it has been spawned once. Sometimes you may write something in the input field, change your mind and then want to click the first result on the page. But since the dropdown cannot be closed, the dropdown is in the way to be able to click on the first result.
2026-03-20 16:31:32 +01:00
dependabot[bot]
3810dc9d1c
[upd] web-client (simple): Bump vite in /client/simple (#5856)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 8.0.0-beta.16 to 8.0.0.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@8.0.0/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.0
  dependency-type: direct:development
  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>
2026-03-18 15:14:37 +01:00
dependabot[bot]
c589b56d69
[upd] web-client (simple): Bump the minor group (#5855)
Bumps the minor group in /client/simple with 2 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [less](https://github.com/less/less.js).

Updates `@types/node` from 25.3.5 to 25.5.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `less` from 4.5.1 to 4.6.3
- [Release notes](https://github.com/less/less.js/releases)
- [Changelog](https://github.com/less/less.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/less/less.js/compare/v4.5.1...v4.6.3)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: less
  dependency-version: 4.6.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-18 15:12:57 +01:00
Ivan Gabaldon
6521190bb4
[enh] engines: rework bing engine (#5793)
* [enh] engines: rework bing engine

Only Bing-Web has been reworked.

Some features now require JavaScript (paging and time-range results).
Cookies no longer work, parameters such as `cc`, `ui`, ... alter the results.

The engine only appears to use the locale from `Accept-Language` header properly.

The rest of Bing's child engines (Bing-Image, Bing-Video, ...) seem to benefit
from using `mkt` param in conjunction with the `Accept-Language` header
override, although Bing-Web does not (?)

* [enh] explicit mkt

* [fix] engines: bing_videos.py

https://github.com/searxng/searxng/pull/5793#pullrequestreview-3881883250
2026-03-18 14:55:25 +01:00
Markus Heiser
2bb8ac17c6
[fix] Youtube video - "Error 153" send HTTP Referrer (referrerpolicy) (#5858)
For videos from ``www.youtube.com`` this patch adds ``referrerpolicy`` and other
by YT required permission policies for the iframe.

API Clients that use the YouTube embedded player (including the YouTube IFrame
Player API) must provide identification through the HTTP ``Referer`` request
header[1].

If the error still occurs, check if server headers (e.g., in .htaccess or Nginx)
are overriding the referrer policy[2].

[1] https://developers.google.com/youtube/terms/required-minimum-functionality#embedded-player-api-client-identity
[2] hint comes from AI: https://chat.mistral.ai
[3] https://developers.google.com/youtube/player_parameters


Close: https://github.com/searxng/searxng/issues/5844

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-17 19:52:46 +01:00
Aadniz
4c4ed4b198 [fix] google engine: Result image thumbnails 2026-03-16 23:35:33 +01:00
dependabot[bot]
3c1f68c59e
[upd] github-actions: Bump docker/scout-action from 1.18.2 to 1.20.2 (#5854)
Bumps [docker/scout-action](https://github.com/docker/scout-action) from 1.18.2 to 1.20.2.
- [Release notes](https://github.com/docker/scout-action/releases)
- [Commits](f8c7768240...1128f02d1e)

---
updated-dependencies:
- dependency-name: docker/scout-action
  dependency-version: 1.20.2
  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>
2026-03-13 14:09:07 +01:00
Renaud Allard
23fb76f08f
Fix XSS via unsafe rendering of untrusted external data in templates (#5826)
Remove |safe filter from 6 template locations where data from external
search engine APIs was rendered as raw HTML without sanitization. Jinja2
autoescape now properly escapes these fields.

The |safe filter was originally added in commit 213041adc (March 2021)
by copying the pattern from result.title|safe and result.content|safe.
However, title and content are pre-escaped via escape() in webapp.py
lines 704-706 before highlight_content() adds trusted <span> tags for
search term highlighting. The metadata, info.value, link.url_label,
repository, and filename fields never go through any escaping and flow
directly from external API responses to the template.

Affected templates and their untrusted data sources:
- macros.html: result.metadata from DuckDuckGo, Reuters, Presearch,
  Podcast Index, Fyyd, bpb, moviepilot, mediawiki, and others
- paper.html: result.metadata from academic search engines
- map.html: info.value and link.url_label from OpenStreetMap
  user-contributed extratags
- code.html: result.repository and result.filename from GitHub API

Example exploit: a search engine API returning
metadata='<img src=x onerror=alert(document.cookie)>' would execute
arbitrary JavaScript in every user's browser viewing that result.
2026-03-13 13:28:31 +01:00
github-actions[bot]
867a43ac1f
[l10n] update translations from Weblate (#5857)
7bbad1a8d - 2026-03-10 - omeritzics <omeritzics@noreply.codeberg.org>
68a483eec - 2026-03-08 - Stephan-P <stephan-p@noreply.codeberg.org>

Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-13 12:43:21 +01:00
Bnyro
3d3a78f3aa chore: add link to ai policy in issue/pr templates 2026-03-12 16:04:00 +01:00
Bnyro
3a032d63a9 docs: add AI policy 2026-03-12 16:04:00 +01:00
Bnyro
e30d490429
[mod] right dao: remove engine (#5849)
Since about a month, the website just says "temporarily unavailable", so it's safe to assume that it's just no longer working

Related:

- https://github.com/searxng/searxng/pull/3798
2026-03-12 15:20:53 +01:00
SeriousConcept1134
8b95b2058b
[fix] google engines: update XPaths for modern mobile UI (#5836)
Google recently changed the DOM structure for mobile-centric responses, causing the `google_videos` engine to return zero results and the main `google` engine to drop the majority of its results (due to missing snippets or failed URL parsing). These changes restore the functionality and improve the result count for both engines.

This patch updates the parsing logic for both the `google` and `google_videos` engines to handle the modern HTML structure returned by Google when using GSA (Google Search App) User-Agents.

**Specific changes include:**

* **Google Videos (`gov`)**:
    * Updated title XPath to support `role="heading"`.
    * Improved URL extraction to correctly decode Google redirectors (`/url?q=...`) using `unquote`.
    * Added support for the `WRu9Cd` class to capture publication metadata (author/date).
    * Broadened thumbnail search and added a fallback to YouTube's `hqdefault.jpg`.

* **Google Web**:
    * Relaxed the strict snippet (`content`) requirement. Valid results are no longer discarded if a snippet is missing in the mobile UI.
    * Hardened URL extraction to handle both direct and redirected URLs safely.
    * Improved thumbnail extraction by searching the entire result block.
2026-03-10 09:05:54 +01:00
dependabot[bot]
d4954a0646
[upd] web-client (simple): Bump the minor group (#5818)
Bumps the minor group in /client/simple with 3 updates: [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [svgo](https://github.com/svg/svgo).


Updates `@biomejs/biome` from 2.4.4 to 2.4.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.4.6/packages/@biomejs/biome)

Updates `@types/node` from 25.3.2 to 25.3.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `svgo` from 4.0.0 to 4.0.1
- [Release notes](https://github.com/svg/svgo/releases)
- [Commits](https://github.com/svg/svgo/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: "@biomejs/biome"
  dependency-version: 2.4.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor
- dependency-name: "@types/node"
  dependency-version: 25.3.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor
- dependency-name: svgo
  dependency-version: 4.0.1
  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>
2026-03-09 14:25:05 +01:00
vojkovic
a563127a26 [fix] engines: remove google arc/async params 2026-03-08 23:22:32 +08:00
dependabot[bot]
0716de6bc8
[upd] github-actions: Bump github/codeql-action from 4.32.4 to 4.32.6 (#5814)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.32.4 to 4.32.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](89a39a4e59...0d579ffd05)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.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>
2026-03-06 23:00:07 +01:00
Brock Vojkovic
68ff08f224
[mod] drop fasttext-predict (#5795)
Removes the `fasttext-predict` dependency and the language detection code.

If a user now selects `auto` for the search language, the detected language now
falls back directly to the `Accept-Language` header sent by the browser (which was already the fallback when fasttext returned no result).

- fasttext's [language detection is unreliable](https://github.com/searxng/searxng/issues/4195) for some languages, especially short search queries, and in particular for queries containing proper names which is a common case.
- `fasttext-predict` consumes [significant memory](https://github.com/searxng/searxng/pull/1969#issuecomment-1345366676) without offering users much real value.
- the upstream fasttext project was archived by Meta in 2024
- users already have two better alternatives: the `Accept-Language` header and the search-syntax language prefix (e.g. `:fr` or `:de`).

Related: https://github.com/searxng/searxng/issues/4195
Closes: https://github.com/searxng/searxng/issues/5790
2026-03-06 15:40:44 +01:00
dependabot[bot]
c7ba2158f9
[upd] pypi: Bump the minor group with 2 updates (#5817)
Bumps the minor group with 2 updates: [nose2[coverage_plugin]](https://github.com/nose-devs/nose2) and [sphinx-tabs](https://github.com/executablebooks/sphinx-tabs).


Updates `nose2[coverage_plugin]` from 0.15.1 to 0.16.0
- [Changelog](https://github.com/nose-devs/nose2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/nose-devs/nose2/compare/0.15.1...0.16.0)

Updates `sphinx-tabs` from 3.4.7 to 3.5.0
- [Release notes](https://github.com/executablebooks/sphinx-tabs/releases)
- [Changelog](https://github.com/executablebooks/sphinx-tabs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/sphinx-tabs/compare/v3.4.7...v3.5.0)
2026-03-06 15:15:08 +01:00
dependabot[bot]
c1b211aeea
[upd] github-actions: Bump docker/login-action from 3.7.0 to 4.0.0 (#5816)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.7.0 to 4.0.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](c94ce9fb46...b45d80f862)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 4.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>
2026-03-06 14:18:54 +01:00
dependabot[bot]
08d2b92b2a
[upd] github-actions: Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 (#5815)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.7.0 to 4.0.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](c7c5346462...ce360397dd)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 4.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>
2026-03-06 14:15:36 +01:00
dependabot[bot]
7cc4eedc1a
[upd] github-actions: Bump actions/setup-node from 6.2.0 to 6.3.0 (#5813)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](6044e13b5d...53b83947a5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.3.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>
2026-03-06 14:14:46 +01:00
github-actions[bot]
25e457c8d5
[l10n] update translations from Weblate (#5812)
5a33207b4 - 2026-03-03 - Linerly <linerly@noreply.codeberg.org>
b84870677 - 2026-03-01 - return42 <return42@noreply.codeberg.org>
8862bb219 - 2026-03-01 - return42 <return42@noreply.codeberg.org>
f64625f8b - 2026-03-01 - return42 <return42@noreply.codeberg.org>
5424e5190 - 2026-03-01 - return42 <return42@noreply.codeberg.org>
999ed9500 - 2026-03-01 - return42 <return42@noreply.codeberg.org>
55f674a81 - 2026-03-01 - return42 <return42@noreply.codeberg.org>
ccc5398f1 - 2026-03-01 - return42 <return42@noreply.codeberg.org>
eefcd7854 - 2026-02-28 - cdli <cdli@noreply.codeberg.org>
5985f8df0 - 2026-02-27 - boradog <boradog@noreply.codeberg.org>
cd0213e39 - 2026-02-28 - DeckPacker <deckpacker@noreply.codeberg.org>
94c0b5fc8 - 2026-02-28 - Serpensin <serpensin@noreply.codeberg.org>
a86b8d609 - 2026-02-28 - DeckPacker <deckpacker@noreply.codeberg.org>

Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-06 08:56:15 +01:00
Bnyro
56e565a582 [feat] autocomplete: add bing autocompleter 2026-03-05 20:56:02 +01:00
Ivan Gabaldon
380f1c4a49
[upd] engines: sync "aa" mirrors (#5807) 2026-03-05 19:08:05 +01:00
github-actions[bot]
b5c1c28048
[data] update searx.data - update_engine_descriptions.py (#5791)
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2026-03-03 22:36:53 +01:00
Ivan Gabaldon
fc53162eec [data] update searx.data - update_engine_traits.py 2026-03-03 20:31:25 +01:00
Ivan Gabaldon
2b03a61832 [enh] data: traits population
Job failing since October 2025.

enh: always raise and reuse data
fix: brave unknown locale
fix: startpage add "brazilian"
2026-03-03 20:31:25 +01:00
Markus Heiser
a9f3baefe6 [fix] unhandled Exceptions in radio_browser.py
Closes: https://github.com/searxng/searxng/issues/5439
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2026-03-03 20:31:25 +01:00