v4.0.0
Highlights
- Desktop: Running
lncrawlwith no subcommand starts the GUI (webview) and local server by default. - Libraries: Library management: create, edit, search, and browse libraries with improved UI and API support.
- Accounts & security: User model and verification flow simplified; API tokens for automation; stricter user listing and inactive-user handling.
- Jobs & downloads: Artifact file sizes tracked; job cleanup and feedback tooling; content-disposition fixes for downloads.
- Crawling: Login support on the crawl command; list sources output format options; site availability checks; cloudscraper integration refactored and updated to track upstream via a git dependency.
- Sources: Many sources updated, new indexes, and fixes across languages and templates.
Packaging & platform
- Python: Project and CI target newer Python (3.12+; tooling also tracks 3.14 where applicable).
- Dependencies:
uvis the supported way to install and sync the project (uv.lock). - Docker & CI: Smaller images, workflow updates (e.g. Astral uv setup), improved release and PyPI publish flows; PyInstaller builds refined (including Windows no-console option).
- License: GPLv3 (see repository license and terms/privacy docs where applicable).
Breaking or notable changes
- License changed from MIT to GPLv3 — review if you redistribute or embed the app.
- CLI default: No subcommand no longer “does nothing”; it opens the GUI — use explicit subcommands (
crawl,server,config, etc.) for scripting. - Tooling: Expect
uvand updated Makefile/pyprojectworkflows instead of legacypip install -r requirements.txtflows. - Scraper: Built-in proxy management was removed; adjust any custom proxy setup accordingly.
For contributors
- Linting uses black, isort, and flake8;
make lintand CI align with the new layout. - Alembic migrations and artifact schema changes (e.g. file size column) — run migrations when upgrading existing databases.
New Contributors
- @rdrgmnzs made their first contribution in #2683
- @wildangelcult made their first contribution in #2689
- @dr-dao made their first contribution in #2760
- @almang45 made their first contribution in #2765
- @RlmUwU made their first contribution in #2800
- @dvpagawak made their first contribution in #2811
- @FreeER made their first contribution in #2832
- @VibrantClouds made their first contribution in #2838
- @Ricardoyesc made their first contribution in #2895
Thanks to everyone who contributed issues, PRs, and source fixes.
Full Changelog: v3.10.1...v4.0.0