v0.6.3

unclecode/crawl4aiv0.6.3May 12, 2025by unclecode

AI Summary

v0.6.3 adds regex-based extraction strategies, job-based polling endpoints for Docker API, and improves browser profile management and cleanup.

Key Highlights

  • RegexExtractionStrategy for pattern-based extraction with built-in patterns
  • Job-based polling endpoints (`/crawl/job`, `/llm/job`) in Docker API
  • Improved browser profile cleanup and management
  • Centralized logging color codes using Enum

Breaking Changes

  • Automatic page closure removed from `take_screenshot` and `take_screenshot_naive`

New Features

  • Built-in regex patterns for emails, URLs, phones, and dates
  • Redis-backed task management for Docker API polling
  • Process cleanup for Chromium instances on Windows/Unix
  • Migration of logging stack to `rich` (in progress)

Full Release Notes

**Release 0.6.3 (unreleased)**

**Features**

* **extraction**: add `RegexExtractionStrategy` for pattern-based extraction, including built-in patterns for emails, URLs, phones, dates, support for custom regexes, an LLM-assisted pattern generator, optimized HTML preprocessing via `fit_html`, and enhanced network response body capture (9b5ccac)
* **docker-api**: introduce job-based polling endpoints—`POST /crawl/job` & `GET /crawl/job/{task_id}` for crawls, `POST /llm/job` & `GET /llm/job/{task_id}` for LLM tasks—backed by Redis task management with configurable TTL, moved schemas to `schemas.py`, and added `demo_docker_polling.py` example (94e9959)
* **browser**: improve profile management and cleanup—add process cleanup for existing Chromium instances on Windows/Unix, fix profile creation by passing full browser config, ship detailed browser/CLI docs and initial profile-creation test, bump version to 0.6.3 (9499164)

**Fixes**

* **crawler**: remove automatic page closure in `take_screenshot` and `take_screenshot_naive`, preventing premature teardown; callers now must explicitly close pages (BREAKING CHANGE) (a3e9ef9)

**Documentation**

* format bash scripts in `docs/apps/linkdin/README.md` so examples copy & paste cleanly (87d4b0f)
* update the same README with full `litellm` argument details for correct script usage (bd5a9ac)

**Refactoring**

* **logger**: centralize color codes behind an `Enum` in `async_logger`, `browser_profiler`, `content_filter_strategy` and related modules for cleaner, type-safe formatting (cd2b490)

**Experimental**

* start migration of logging stack to `rich` (WIP, work ongoing) (b2f3cb0)