v1.75.0
[1.75.0] — 2026-06-19
feat(scan): port parent career-ops v1.12.0 — seven new job sources, content filtering, and security/quality fixes. The web-ui runs its own in-process scanners (it does not shell out to the parent's scan.mjs), so parent v1.12.0's provider and scan changes do not flow through automatically — this release reimplements the applicable ones in the web-ui's adapter contract.
- Seven new scanner sources. Three board-wide remote aggregators — RemoteOK, Remotive, Working Nomads — drop into the auto-discovered
server/lib/sources/*.mjspattern (select withprovider: remoteok/remotive/workingnomads). Four config-driven regional aggregators — IBM careers, Arbeitsagentur (German Federal Labor Agency), Glints (SE Asia), Jobstreet / SEEK — read a per-entry<provider>:config block; en-scanner now threads the resolved company entry through to every fetcher so they can read it. All seven appear in the#/scansource dropdown automatically. content_filter(parent #974). Optionalportals.ymlblock (positive/negativekeyword lists) that gates a posting on its description/snippet text — mirrorslocation_filtersemantics; postings without a description always pass. Wired into both EN and RU scanners.- Scan-write hardening (parent #1098). External feed metadata is now sanitized before it lands in
data/scan-history.tsvanddata/pipeline.md: control characters are collapsed (a company/title newline can no longer inject a TSV row) and a leading= + - @is neutralized against spreadsheet formula injection. - Ashby
secondaryLocations(parent #1073). The Ashby source now folds each secondary location's region label plus postaladdressLocality/addressCountryinto the location string (deduped), so an EU-eligible role whose primary label reads e.g. "Canada" surfaces for thelocation_filter. - Evaluation report-shape validation (parent #819).
/api/evaluate's in-process providers (Anthropic / OpenAI / Qwen / OpenRouter / GitHub Models) now flag a malformed A–G /SCORE_SUMMARYreport as a non-fatalwarningsarray; the Gemini eval path already inherits the guard from the parent'sgemini-eval.mjs. - docs: Antigravity CLI added to the supported-assistant lists across all 12 READMEs (maps to the Gemini provider).
Inherited for free from the git pull of the parent (web-ui shells out to these): Japanese CJK PDF font fallback (#1053), ATS-safe PDF fonts (#1074), LaTeX CJK guard (#1054), tracker/merge/followup/dashboard fixes, and the modes/zh Chinese modes (the web-ui lists modes dynamically).