vb, changelog
This commit is contained in:
parent
0550e363d4
commit
8dbcd4bd7a
6 changed files with 32 additions and 12 deletions
22
CHANGELOG.md
22
CHANGELOG.md
|
|
@ -1,14 +1,33 @@
|
|||
# Changelog
|
||||
## [Unreleased]
|
||||
|
||||
## [0.52.0] - 2026-06-01
|
||||
|
||||
### Added
|
||||
|
||||
- `haiku-ingester run-batch`: one discover sweep across every configured source, drains the queue, then exits. Orphan deletion requires a persisted `ingester.db`.
|
||||
- `max_file_size` (bytes) on every source type rejects oversized files before they are read into memory; they dead-letter as a permanent `FileTooLargeError`. FS and S3 check the size from metadata before fetching; HTTP and WebDAV rely on a `Content-Length` response header, so a server that omits it is not enforced.
|
||||
|
||||
### Changed
|
||||
|
||||
- Idle workers wake on enqueue via an `asyncio.Condition` instead of polling on `poll_idle_interval_s`.
|
||||
- `sync_state` writes are batched into one transaction per sweep (`SyncStateRepo.batch_upsert`) instead of one commit per file.
|
||||
- HTTP and WebDAV sources reuse a single `httpx.AsyncClient` across `head`/`fetch`/`discover` instead of opening one per request.
|
||||
- Periodic poll sweeps start after a random jitter of 0–25% of `poll_interval_s`.
|
||||
- New partial index `idx_jobs_succeeded_completed` backs the dashboard rolling-throughput query.
|
||||
|
||||
### Removed
|
||||
|
||||
- `haiku-ingester run-once`. Use `run-batch` to ingest configured sources, or `serve` for continuous operation.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Revision-less HTTP/S3/WebDAV resources (no ETag or Last-Modified) emit `UNCHANGED` once known instead of re-ingesting on every sweep.
|
||||
- Deleted, unreadable, and directory paths (`FileNotFoundError`, `PermissionError`, `IsADirectoryError`, `NotADirectoryError`) classify as permanent failures instead of exhausting retries first.
|
||||
- FS `discover()` and the watch loop no longer crash when a file is removed between listing and `stat()`.
|
||||
- HTTP `discover()` catches only `httpx.TransportError`; other exceptions propagate instead of being emitted as UPSERT.
|
||||
- A `sync_state` write that fails after a job is marked succeeded is logged instead of crashing the worker.
|
||||
|
||||
## [0.51.0] - 2026-05-29
|
||||
|
||||
### Added
|
||||
|
|
@ -1637,7 +1656,8 @@ Existing documents without DoclingDocument data will work but won't have provena
|
|||
|
||||
- Initial version tracking
|
||||
|
||||
[Unreleased]: https://github.com/ggozad/haiku.rag/compare/0.51.0...HEAD
|
||||
[Unreleased]: https://github.com/ggozad/haiku.rag/compare/0.52.0...HEAD
|
||||
[0.52.0]: https://github.com/ggozad/haiku.rag/compare/0.51.0...0.52.0
|
||||
[0.51.0]: https://github.com/ggozad/haiku.rag/compare/0.50.0...0.51.0
|
||||
[0.50.0]: https://github.com/ggozad/haiku.rag/compare/0.48.1...0.50.0
|
||||
[0.48.1]: https://github.com/ggozad/haiku.rag/compare/0.48.0...0.48.1
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ dependencies = [
|
|||
"uvicorn[standard]>=0.40.0",
|
||||
"pydantic-ai-slim[ag-ui,anthropic,openai]>=1.81.0",
|
||||
"python-dotenv>=1.2.1",
|
||||
"haiku.rag-slim>=0.51.0",
|
||||
"haiku.rag-slim>=0.52.0",
|
||||
"logfire[pydantic-ai]>=3.17.0",
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
name = "haiku.rag-evals"
|
||||
description = "Benchmarking and evaluation scripts for haiku.rag"
|
||||
version = "0.51.0"
|
||||
version = "0.52.0"
|
||||
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
|
||||
license = { text = "MIT" }
|
||||
requires-python = ">=3.12"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
name = "haiku.rag-slim"
|
||||
description = "Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling - Minimal dependencies"
|
||||
version = "0.51.0"
|
||||
version = "0.52.0"
|
||||
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
|
||||
license = { text = "MIT" }
|
||||
readme = { file = "README.md", content-type = "text/markdown" }
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
name = "haiku.rag"
|
||||
description = "Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling"
|
||||
version = "0.51.0"
|
||||
version = "0.52.0"
|
||||
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
|
||||
license = { text = "MIT" }
|
||||
readme = { file = "README.md", content-type = "text/markdown" }
|
||||
|
|
@ -30,7 +30,7 @@ classifiers = [
|
|||
]
|
||||
|
||||
dependencies = [
|
||||
"haiku.rag-slim[docling,voyageai,mxbai,cohere,zeroentropy,tui,cross-encoder]==0.51.0",
|
||||
"haiku.rag-slim[docling,voyageai,mxbai,cohere,zeroentropy,tui,cross-encoder]==0.52.0",
|
||||
]
|
||||
|
||||
[project.scripts]
|
||||
|
|
@ -38,9 +38,9 @@ haiku-rag = "haiku.rag.cli:cli"
|
|||
|
||||
[project.optional-dependencies]
|
||||
tui = ["textual>=8.2.4"]
|
||||
s3 = ["haiku.rag-slim[s3]==0.51.0"]
|
||||
cross-encoder = ["haiku.rag-slim[cross-encoder]==0.51.0"]
|
||||
ingester = ["haiku.rag-slim[ingester]==0.51.0"]
|
||||
s3 = ["haiku.rag-slim[s3]==0.52.0"]
|
||||
cross-encoder = ["haiku.rag-slim[cross-encoder]==0.52.0"]
|
||||
ingester = ["haiku.rag-slim[ingester]==0.52.0"]
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
|
|
|
|||
6
uv.lock
6
uv.lock
|
|
@ -1457,7 +1457,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "haiku-rag"
|
||||
version = "0.51.0"
|
||||
version = "0.52.0"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "haiku-rag-slim", extra = ["cohere", "cross-encoder", "docling", "mxbai", "tui", "voyageai", "zeroentropy"] },
|
||||
|
|
@ -1524,7 +1524,7 @@ dev = [
|
|||
|
||||
[[package]]
|
||||
name = "haiku-rag-evals"
|
||||
version = "0.51.0"
|
||||
version = "0.52.0"
|
||||
source = { editable = "evaluations" }
|
||||
dependencies = [
|
||||
{ name = "datasets" },
|
||||
|
|
@ -1547,7 +1547,7 @@ requires-dist = [
|
|||
|
||||
[[package]]
|
||||
name = "haiku-rag-slim"
|
||||
version = "0.51.0"
|
||||
version = "0.52.0"
|
||||
source = { editable = "haiku_rag_slim" }
|
||||
dependencies = [
|
||||
{ name = "docling-core" },
|
||||
|
|
|
|||
Loading…
Reference in a new issue