summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-09-30[fix] fetch traits, even for inactive instancesMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-29[fix] ci: missing container (#5263)Ivan Gabaldon
This workflow is no longer needed.
2025-09-29[data] update searx.data - update_currencies.py (#5261)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-09-29[data] update searx.data - update_engine_descriptions.py (#5262)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-09-29[data] update searx.data - update_wikidata_units.py (#5259)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-09-29[data] update searx.data - update_ahmia_blacklist.py (#5257)github-actions[bot]
Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-09-29[data] update searx.data - update_firefox_version.pysearxng-bot
2025-09-28[fix] sqlitedb: DB connector -- unset isolation_levelMarkus Heiser
A Connection object can be used as a context manager that automatically commits or rolls back open transactions when leaving the body of the context manager. If the connection attribute ``isolation_level`` is **not** ``None``, new transactions are implicitly opened before ``execute()`` and ``executemany()`` executes SQL- INSERT, UPDATE, DELETE, or REPLACE statements [1]. The old implementation set ``isolation_level`` to ``None`` and thereby prevented the context manager from opening and closing the transaction scopes. [1] https://docs.python.org/3/library/sqlite3.html#sqlite3-transaction-control-isolation-level [2] https://github.com/searxng/searxng/pull/5239#discussion_r2381416731 Reported-by: Ivan G <igabaldon@inetol.net> [2] Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-28[mod] ExpireCacheSQLite - implement .setmany() for bulk loadingMarkus Heiser
[1] https://github.com/searxng/searxng/issues/5223#issuecomment-3328597147 Suggested-by: Ivan G <igabaldon@inetol.net> [1] Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-28[fix] openstreetmap: fix CURRENCIES.iso4217_to_nameMarkus Heiser
This patch is a leftover from PR-5204 [1]. [1] https://github.com/searxng/searxng/pull/5204 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-28[mod] run bootload of the CURRENCIES cache on demandMarkus Heiser
In [1] it can be seen that the bootload of the CURRENCIES cache takes about 2/3 of the time required to initialize SearXNG. Whatever the absolute durations may be, an explicit bootload during the SearXNG initialization is not required, as the bootload is already ensured by the API of the CACHE. - ``CurrenciesDB.name_to_iso4217`` - ``CurrenciesDB.iso4217_to_name`` The fact that the bootload now occurs on-demand should improve the initialization time of SearXNG. [1] https://github.com/searxng/searxng/issues/5223#issuecomment-3323083411 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-28[mod] debug-log the bootload of the CURRENCIES caches (CurrenciesDB)Markus Heiser
The time for the bootload is measured and recorded. To have an eye on the bootload time is motivated by: In [1] it can be seen that the bootload of the CURRENCIES cache takes about 2/3 of the time required to initialize SearXNG:: 6.068 <module> searx/webapp.py:1 └─ 6.068 wrapper pyinstrument/context_manager.py:52 ├─ 5.538 init searx/webapp.py:1373 │ ├─ 4.822 initialize searx/search/__init__.py:34 │ │ ├─ 4.631 ProcessorMap.init searx/search/processors/__init__.py:47 │ │ │ ├─ 4.607 OnlineCurrencyProcessor.initialize searx/search/processors/online_currency.py:55 │ │ │ │ └─ 4.607 CurrenciesDB.init searx/data/currencies.py:25 │ │ │ │ ├─ 4.601 CurrenciesDB.load searx/data/currencies.py:34 │ │ │ │ │ ├─ 4.572 ExpireCacheSQLite.set searx/cache.py:334 In the example, the CurrenciesDB.init call takes 4.6 seconds... on my laptop, CurrenciesDB.init takes only 0.7 seconds. The absolute numerical values depend on external conditions, where I already find 4-5 seconds very long. Test:: $ rm /tmp/sxng_cache_*.db* $ make run 2>&1 | grep "searx.data.CURRENCIES" DEBUG searx.data : init searx.data.CURRENCIES DEBUG searx.data : init searx.data.CURRENCIES added 9089 items in 0.7623255252838135 sec. [1] https://github.com/searxng/searxng/issues/5223#issuecomment-3323083411 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-27[mod] pin external developer tools (mise en place) (#5253)Markus Heiser
Mise en place config [1] does no longer support ``.tool-versions`` compatibility syntax, migrate to TOML ``mise.toml``. In ``utils/lib_sxng_node.sh`` the node version was not updated, update to 24.3.0 (compare ``mise.toml``). [1] https://mise.jdx.dev/configuration.html Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-26[upd] pypi: Bump sphinx from 7.4.7 to 8.2.3 (#5252)Markus Heiser
- supersede: https://github.com/searxng/searxng/pull/4377 Sphinx 8.2 dropped Python 3.10 support, last versions supporting Python 3.10: - Sphinx==8.1.3 - sphinx-autobuild==2024.10.3 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-26[upd] pypi: Bump black from 24.3.0 to 25.9.0 (#5251)Markus Heiser
In 25.1.0 [2] an old bug has been fixed: "Docstring formatting does not apply to module docstrings" [3]. [1] https://github.com/psf/black/blob/main/CHANGES.md#2590 [2] https://github.com/psf/black/blob/main/CHANGES.md#2510 [3] https://github.com/psf/black/issues/4094 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-26[upd] github-actions: Bump actions/cache from 4.2.4 to 4.3.0 (#5249)dependabot[bot]
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.4 to 4.3.0. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/0400d5f644dc74513175e3cd8d07132dd4860809...0057852bfaa89a56745cba8c7296529d2fc39830) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 4.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>
2025-09-26[upd] pypi: Bump myst-parser from 3.0.1 to 4.0.0 (#3719)dependabot[bot]
Bumps [myst-parser](https://github.com/executablebooks/MyST-Parser) from 3.0.1 to 4.0.0. - [Release notes](https://github.com/executablebooks/MyST-Parser/releases) - [Changelog](https://github.com/executablebooks/MyST-Parser/blob/master/CHANGELOG.md) - [Commits](https://github.com/executablebooks/MyST-Parser/compare/v3.0.1...v4.0.0) --- updated-dependencies: - dependency-name: myst-parser dependency-type: direct:development 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-09-26[upd] github-actions: Bump snok/container-retention-policy (#5248)dependabot[bot]
Bumps [snok/container-retention-policy](https://github.com/snok/container-retention-policy) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/snok/container-retention-policy/releases) - [Commits](https://github.com/snok/container-retention-policy/compare/4f22ef80902ad409ed55a99dc5133cc1250a0d03...3b0972b2276b171b212f8c4efbca59ebba26eceb) --- updated-dependencies: - dependency-name: snok/container-retention-policy dependency-version: 3.0.1 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-09-26[upd] github-actions: Bump github/codeql-action from 3.30.3 to 3.30.4 (#5247)dependabot[bot]
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.3 to 3.30.4. - [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/192325c86100d080feab897ff886c34abd4c83a3...303c0aef88fc2fe5ff6d63d3b1596bfd83dfa1f9) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.30.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>
2025-09-26[upd] pypi: Bump the minor group with 4 updates (#5246)dependabot[bot]
Bumps the minor group with 4 updates: [lxml](https://github.com/lxml/lxml), [pyyaml](https://github.com/yaml/pyyaml), [typer-slim](https://github.com/fastapi/typer) and [basedpyright](https://github.com/detachhead/basedpyright). Updates `lxml` from 6.0.1 to 6.0.2 - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](https://github.com/lxml/lxml/compare/lxml-6.0.1...lxml-6.0.2) Updates `pyyaml` from 6.0.2 to 6.0.3 - [Release notes](https://github.com/yaml/pyyaml/releases) - [Changelog](https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES) - [Commits](https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3) Updates `typer-slim` from 0.17.4 to 0.19.2 - [Release notes](https://github.com/fastapi/typer/releases) - [Changelog](https://github.com/fastapi/typer/blob/master/docs/release-notes.md) - [Commits](https://github.com/fastapi/typer/compare/0.17.4...0.19.2) Updates `basedpyright` from 1.31.4 to 1.31.5 - [Release notes](https://github.com/detachhead/basedpyright/releases) - [Commits](https://github.com/detachhead/basedpyright/compare/v1.31.4...v1.31.5)
2025-09-25[fix] ProcessorMap: fix error log, not enough arguments for format string ↵Markus Heiser
(#5241) Issue was introduced by PR-5204 [1] reported issue:: logger.error("init method of engine %s failed (%s).", eng_proc.engine.name) TypeError: not enough arguments for format string [1] https://github.com/searxng/searxng/pull/5204 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-25[build] /staticMarkus Heiser
2025-09-25[fix] simple client: move code.less to result_types/code.lessMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-23[enh] container: custom certificates (#5238)Ivan Gabaldon
Let container instance administrators to add custom certificates: https://docs.searxng.org/admin/installation-docker.html#custom-certificates Closes https://github.com/searxng/searxng/issues/5206
2025-09-23[fix] utils: variable expansion (#5237)Ivan Gabaldon
Docker buildx outputs the following error: variable expansion is not supported for --from, define a new stage with FROM using ARG from global scope as a workaround. Also force BuildKit extension to be installed, legacy build is no longer supported. Closes https://github.com/searxng/searxng/issues/5219
2025-09-23[enh] container: compact venv (#5225)Ivan Gabaldon
We can leverage the immutable nature of containers to add additional optimizations. No debugging or tinkering inside containers, so stripping all unused symbols inside `venv` should be fine. We are also going to compile the bytecode ourselves to modify some parameters related to reproducibility. With these small changes, we have reduced the `venv` layer size by 10MB~
2025-09-20[enh] container: reproducible layers (#5222)Ivan Gabaldon
* [enh] container: reproducible layers We are not aiming for reproducibility compliance, but we look to make most builder layers reproducible without caching at least for a short period of time (until the builder's base image changes or the child dependencies of a requirements.txt package are updated). This feature is only available on Podman. This targets https://github.com/searxng/searxng/pull/5086 main goal. * [fix] misc: apply suggestions Suggested: https://github.com/searxng/searxng/pull/5222#discussion_r2364630496 Suggested: https://github.com/searxng/searxng/pull/5222#discussion_r2364630511 * [enh] container: prevent useless layer
2025-09-20[mod] py: remove uvloop (#5220)Ivan Gabaldon
We get some good stuff without uvloop, 13MB~ less of dependencies, 3 minutes of build time for armv7 saved, and we are one step closer to NT compatibility. Although it's true that theoretically the raw performance have worsened on network side (we only used uvloop for that), the latest cpython versions have been improving on asyncio performance.
2025-09-20[l10n] update translations from Weblate (#5216)github-actions[bot]
a0783e1a1 - 2025-09-16 - recreationalprogamer <recreationalprogamer@noreply.codeberg.org> 130f66498 - 2025-09-13 - artnay <artnay@noreply.codeberg.org> Co-authored-by: searxng-bot <searxng-bot@users.noreply.github.com>
2025-09-20[mod] demo engines: smaller improvementMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] ADS engine: revision of the engine (Paper result)Markus Heiser
Revision of the Astrophysics Data System (ADS) engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] Z-Library engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. The engine has been placed on inactive because no service is currently available, or at least not known in the SearXNG community [1] [1] https://github.com/searxng/searxng/issues/3610 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] Springer Nature engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] Semantic Scholar engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] PubMed engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] Open Library engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] OpenAlex engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] Google Scholar engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] Crossref engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] CORE engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] Anna's Archive engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[mod] arXiv engine: revision of the engine (Paper result)Markus Heiser
Revision of the engine / use of the result type Paper as well as other typifications. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[build] /staticMarkus Heiser
2025-09-20[mod] typification of SearXNG: add new result type PaperMarkus Heiser
This patch adds a new result type: Paper - Python class: searx/result_types/paper.py - Jinja template: searx/templates/simple/result_templates/paper.html - CSS (less) client/simple/src/less/result_types/paper.less Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-20[fix] image proxy: object has no attribute 'status_code' (#5212)Léon Tiekötter
Commit 8f8343d [1] introduced a bug in the network logic of SearXNG where stream requests (such as the one from the image proxy) would fail because a wrapper was returned instead of a response object with the correct attribute. This is just a quick in place fix I implemented to get it working again. It would be better to implement corresponding logic to give stream requests the correct object. [1] https://github.com/searxng/searxng/pull/5204
2025-09-19[mod] ci: add cp3.14 (#5217)Ivan Gabaldon
2025-09-19[upd] pypi: Bump the minor group with 3 updates (#5213)dependabot[bot]
Bumps the minor group with 3 updates: [whitenoise](https://github.com/evansd/whitenoise), [granian[reload]](https://github.com/emmett-framework/granian) and [granian](https://github.com/emmett-framework/granian). Updates `whitenoise` from 6.10.0 to 6.11.0 - [Changelog](https://github.com/evansd/whitenoise/blob/main/docs/changelog.rst) - [Commits](https://github.com/evansd/whitenoise/compare/6.10.0...6.11.0) Updates `granian[reload]` from 2.5.3 to 2.5.4 - [Release notes](https://github.com/emmett-framework/granian/releases) - [Commits](https://github.com/emmett-framework/granian/compare/v2.5.3...v2.5.4) Updates `granian` from 2.5.3 to 2.5.4 - [Release notes](https://github.com/emmett-framework/granian/releases) - [Commits](https://github.com/emmett-framework/granian/compare/v2.5.3...v2.5.4) --- updated-dependencies: - dependency-name: whitenoise dependency-version: 6.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor - dependency-name: granian[reload] dependency-version: 2.5.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor - dependency-name: granian dependency-version: 2.5.4 dependency-type: direct:production 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-09-19[upd] web-client (simple): Bump the minor group in /client/simple with 3 ↵dependabot[bot]
updates (#5215) * [upd] web-client (simple): Bump the minor group Bumps the minor group in /client/simple with 3 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [browserslist](https://github.com/browserslist/browserslist) and [sharp](https://github.com/lovell/sharp). Updates `@types/node` from 24.3.1 to 24.5.2 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `browserslist` from 4.25.4 to 4.26.2 - [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.25.4...4.26.2) Updates `sharp` from 0.34.3 to 0.34.4 - [Release notes](https://github.com/lovell/sharp/releases) - [Commits](https://github.com/lovell/sharp/compare/v0.34.3...v0.34.4) --- updated-dependencies: - dependency-name: "@types/node" dependency-version: 24.5.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor - dependency-name: browserslist dependency-version: 4.26.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor - dependency-name: sharp dependency-version: 0.34.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor ... Signed-off-by: dependabot[bot] <support@github.com> * update rolldown-vite --------- 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-09-18[mod] demo engines: smaller corrections and improvementsMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-09-18[mod] addition of various type hints / engine processorsMarkus Heiser
Continuation of #5147 .. typification of the engine processors. BTW: - removed obsolete engine property https_support - fixed & improved currency_convert - engine instances can now implement a engine.setup method [#5147] https://github.com/searxng/searxng/pull/5147 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>