This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
ReleasePort's take
Light signalVersion v2.7.5 adds OpenAI‑compatible embeddings, custom reranker routing for OpenAI without an OpenRouter key, and a configurable digest language via `digest_language`. It also fixes several bugs (Pydantic validation, read‑later signal retention) and normalizes container time to UTC.
Why it matters: The Pydantic validation fix widens `schedule.timezone` acceptance from string to dict[str, Any], preventing configuration errors in deployments that specify timezone mappings; address any existing YAML using the previous type before upgrading.
Summary
AI summaryUpdates Commits Since 2.7.1, Other, and learning across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds OpenAI-compatible embeddings via config setting. Adds OpenAI-compatible embeddings via config setting. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Feature | Low |
Routes LLM reranking through custom endpoint when using OpenAI provider without OpenRouter key. Routes LLM reranking through custom endpoint when using OpenAI provider without OpenRouter key. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Feature | Low |
Adds configurable digest output language via `digest_language` setting. Adds configurable digest output language via `digest_language` setting. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Dependency | Low |
Sets `TZ=UTC` in docker-compose.yml to align container clock with default schedule timezone. Sets `TZ=UTC` in docker-compose.yml to align container clock with default schedule timezone. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Medium |
Fixes Pydantic validation error for `schedule.timezone` by widening type to dict[str, Any]. Fixes Pydantic validation error for `schedule.timezone` by widening type to dict[str, Any]. Source: llm_adapter@2026-05-29 Confidence: high |
— |
| Bugfix | Medium |
Retains saved‑for‑later engagement signals after queue removal. Retains saved‑for‑later engagement signals after queue removal. Source: llm_adapter@2026-05-29 Confidence: high |
— |
Full changelog
What's Changed
Features
- OpenAI-compatible embeddings — set
relevance.embedding_provider: "openai"to use any/v1/embeddingsendpoint alongside your existingllm.openai_base_url/llm.openai_api_key. Selectable from Admin → Digest without a restart. - OpenAI-compatible reranking — when
llm.providerisopenaiand no OpenRouter key is present, the LLM reranker now routes through your custom endpoint instead of falling back to Ollama. - Configurable digest output language — new
digest_languagesetting accepts any ISO 639-1 code (fr,de,es, …) or"source"to auto-detect and match each article's language. Defaultenpreserves existing behaviour. Configurable in Admin → Digest under Language preferences without a restart.
Fixes
schedule.timezonevalidation error —schedulewas typed asdict[str, list[str]], causing a Pydantic error whentimezone: "UTC"was set inconfig.yaml. Fixed by widening todict[str, Any]. The Admin → Schedule timezone dropdown is unaffected; this only hit users setting the key inconfig.yamlor a mounted Docker config file.- Saved-for-later engagement signals retained after queue removal — items removed from the read-later queue no longer lose their implicit positive signal in the preference engine.
Other
- Added
TZ=UTCtodocker-compose.ymlso container clock matches the default schedule timezone.
Commits Since 2.7.1
f213d52feat: add openai-compat embeddings/reranking and configurable digest language4a92e23fix(learning): retain saved-for-later engagement signals after queue removal
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About wildlifechorus/condenseit](https:
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]